Код для загрузки видеофайла я взял из этого вопроса; однако возникает ошибка.
Это код для выбора видео из альбома:
var videoURL: URL?
extension ViewController: UIImagePickerControllerDelegate, UINavigationControllerDelegate {
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
picker.dismiss(animated: true, completion: nil)
if let pickedVideo = info[UIImagePickerController.InfoKey.mediaURL] as? URL {
videoURL = pickedVideo
}
Это код для загрузки видео на сервер:
func uploadImage(imageURL: URL?) {
let URL = "http://127.0.0.1:8000/uploadfiles"
let header : HTTPHeaders = [
"Content-Type" : "application/json"]
let timestamp = NSDate().timeIntervalSince1970
AF.upload(multipartFormData: { multipartFormData in
multipartFormData.append(imageURL!, withName: "video", fileName: "\(timestamp).mp4", mimeType: "\(timestamp).mp4")
}, to: URL, usingThreshold: UInt64.init(), method: .post, headers: header).response { response in
guard let statusCode = response.response?.statusCode,
statusCode == 200
else { return }
@IBAction func ButtonClicked(_ sender: UIButton) {
do {
uploadImage(imageURL: videoURL!)
} catch {
}
}
Это код сервера FastAPI:
from fastapi import FastAPI, File, UploadFile
from typing import List
import os
app = FastAPI()
@app.get("/")
def read_root():
return { "Hello": "World" }
@app.post("/files/")
async def create_files(files: List[bytes] = File(...)):
return {"file_sizes": [len(file) for file in files]}
@app.post("/uploadfiles")
async def create_upload_files(files: List[UploadFile] = File(...)):
print('here')
UPLOAD_DIRECTORY = "./"
for file in files:
contents = await file.read()
with open(os.path.join(UPLOAD_DIRECTORY, file.filename), "wb") as fp:
fp.write(contents)
print(file.filename)
return {"filenames": [file.filename for file in files]}
Это ошибка:
INFO: 127.0.0.1:65191 - "POST /uploadfiles HTTP/1.1" 422 Unprocessable Entity
Подробнее здесь: https://stackoverflow.com/questions/720 ... pi-backend
IOS — не удалось загрузить видеофайл из Swift в серверную часть FastAPI. ⇐ IOS
Программируем под IOS
1727596829
Anonymous
Код для загрузки видеофайла я взял из этого вопроса; однако возникает ошибка.
Это код для выбора видео из альбома:
var videoURL: URL?
extension ViewController: UIImagePickerControllerDelegate, UINavigationControllerDelegate {
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
picker.dismiss(animated: true, completion: nil)
if let pickedVideo = info[UIImagePickerController.InfoKey.mediaURL] as? URL {
videoURL = pickedVideo
}
Это код для загрузки видео на сервер:
func uploadImage(imageURL: URL?) {
let URL = "http://127.0.0.1:8000/uploadfiles"
let header : HTTPHeaders = [
"Content-Type" : "application/json"]
let timestamp = NSDate().timeIntervalSince1970
AF.upload(multipartFormData: { multipartFormData in
multipartFormData.append(imageURL!, withName: "video", fileName: "\(timestamp).mp4", mimeType: "\(timestamp).mp4")
}, to: URL, usingThreshold: UInt64.init(), method: .post, headers: header).response { response in
guard let statusCode = response.response?.statusCode,
statusCode == 200
else { return }
@IBAction func ButtonClicked(_ sender: UIButton) {
do {
uploadImage(imageURL: videoURL!)
} catch {
}
}
Это код сервера FastAPI:
from fastapi import FastAPI, File, UploadFile
from typing import List
import os
app = FastAPI()
@app.get("/")
def read_root():
return { "Hello": "World" }
@app.post("/files/")
async def create_files(files: List[bytes] = File(...)):
return {"file_sizes": [len(file) for file in files]}
@app.post("/uploadfiles")
async def create_upload_files(files: List[UploadFile] = File(...)):
print('here')
UPLOAD_DIRECTORY = "./"
for file in files:
contents = await file.read()
with open(os.path.join(UPLOAD_DIRECTORY, file.filename), "wb") as fp:
fp.write(contents)
print(file.filename)
return {"filenames": [file.filename for file in files]}
Это ошибка:
INFO: 127.0.0.1:65191 - "POST /uploadfiles HTTP/1.1" 422 Unprocessable Entity
Подробнее здесь: [url]https://stackoverflow.com/questions/72036977/ios-failed-to-upload-video-file-from-swift-to-fastapi-backend[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия