Перепишите запрос Python для загрузки данных изображения через API в SwiftUI.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Перепишите запрос Python для загрузки данных изображения через API в SwiftUI.

Сообщение Anonymous »

Я переписал код как таковой, но похоже, что он не будет работать так же. а также не знаю, как переписать данные «Файлы» с помощью UIimage для захваченного изображения.
Вот код Python, который мне нужно было переписать:

Код: Выделить всё

import json
import requests

# Run inference on an image
url = "URL"
headers = {"x-api-key": "Token"}
data = {"model": "Specific model"}
with open("image.jpg", "rb") as f:
response = requests.post(url, headers=headers, data=data, files={"file": f})

# Check for successful response
response.raise_for_status()

# Print inference results
print(json.dumps(response.json(), indent=2))
Вот как я пытался это переписать

Код: Выделить всё

import UIKit

func uploadImage(photo: UIImage) async  {
// Define the API endpoint and your API key
let apiURL = URL(string: "URL")!
let apiKey = "Token"

guard let imageData = photo.jpegData(compressionQuality: 1.0) else {
print("Could not convert image to JPEG data.")
return
}

// Create the URL request
var request = URLRequest(url: apiURL)
request.httpMethod = "POST"
request.setValue("multipart/form-data", forHTTPHeaderField: "Content-Type")
request.setValue(apiKey, forHTTPHeaderField: "x-api-key")

// Create the JSON payload
let base64Image = imageData.base64EncodedString()
let jsonPayload: [String: Any] = [
"model": "Specific model",
"file": base64Image
]

guard let jsonData = try? JSONSerialization.data(withJSONObject: jsonPayload)  else {
print("Could not serialize JSON data.")
return
}
request.httpBody = jsonData

// Perform the network request
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let error = error {
print("Error: \(error.localizedDescription)")
return
}
guard let data = data else {
print("No data received.")
return
}

// Handle the response
do {
if let jsonResponse = try JSONSerialization.jsonObject(with: data, options: []) as? [String: Any] {
print("Response JSON: \(jsonResponse)")
return
// Parse and use the response data
}
} catch let jsonError {
print("JSON Error: \(jsonError.localizedDescription)")
return
}
}
task.resume()
}

Я попытался использовать внешний API и сопоставить ответ и то, что они оба отправляют, и они оба вызывают и отправляют одни и те же данные. но код Swift не отправляет те же данные в том же формате, что и код Python, а также не знает, как включить часть «Файлы» в код Swift и протокол запроса

Подробнее здесь: https://stackoverflow.com/questions/790 ... in-swiftui
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»