Я пытаюсь загрузить изображение, которое мое приложение iOS записывает во Flask, - я получаю ошибку HTTP 500, происхождение которой я не понимаю.
Вот мой код:
from flask import Flask
from flask_restful import reqparse, Api, Resource
from flask import request
app = Flask(__name__)
api = Api(app)
@app.route('/')
def projects():
file = None
if request.method == "POST":
file = request.files['file']
if file:
img = Image.open(file)
print("Image successfully loaded.")
return render_template("home.html")
app.run(debug=True)
и для iOS:
func uploadImage(image: UIImage) -> Void{
//Convert the image to a data blob
guard let png = UIImagePNGRepresentation(image) else{
print("error")
return
}
//Set up a network request
let request = NSMutableURLRequest()
request.httpMethod = "POST"
request.url = NSURL(string: "http://127.0.0.1:5000/") as! URL as! URL
request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
request.setValue("\(png.count)", forHTTPHeaderField: "Content-Length")
request.httpBody = png
// Figure out what the request is making and the encoding type...
//Execute the network request
let upload = URLSession.shared.uploadTask(with: request as URLRequest, from: png) { (data: Data?, response: URLResponse?, error: Error?) -> Void in
//What you want to do when the upload succeeds or fails
}
upload.resume()
}
override func viewDidLoad() {
super.viewDidLoad()
let img = UIImage(named: "messi.jpg")
uploadImage(image: img!)
}
Есть идеи?
Любая помощь будет оценена. Спасибо!
Редактировать: ошибка на сервере, которую я получаю, - "builtins.UnboundLocalError UnboundLocalError: локальная переменная 'file', на которую ссылается до назначения", но если я исправлю это, я получу "jinja2.exceptions.TemplateRuntimeError: многократно расширенный."
Сообщение, которое я получаю в Xcode: «715863 + 0900 swiftServer [6240: 329748] [] nw_socket_output_finished shutdown (8, SHUT_WR) [57: сокет не подключен]"