gpt4 book ai didi

swift - 如何使用 Swift 和 Alamofire 上传任意数量的文件?

转载 作者:行者123 更新时间:2023-11-28 12:55:57 25 4
gpt4 key购买 nike

我正在尝试访问一个 REST API,它允许我根据情况上传不同数量的文件。我有以下 Alamofire 代码,但我不确定如何更改它以便我可以上传一个文件、两个文件或十个文件。

    Alamofire.upload(
.POST,
"https://httpbin.org/post",
multipartFormData: { multipartFormData in
multipartFormData.appendBodyPart(fileURL: farmFileURL, name: "xml-file-farm")
multipartFormData.appendBodyPart(fileURL: farmFileURL, name: "csv-measurement-file-1")
multipartFormData.appendBodyPart(fileURL: farmFileURL, name: "csv-measurement-file-2")
},
encodingCompletion: { encodingResult in
switch encodingResult {
case .Success(let upload, _, _):
upload.responseJSON { response in
debugPrint(response)
}
case .Failure(let encodingError):
print(encodingError)
}
}
)

我看到的问题是我无法使用“multipartFormData”定义一个文件数组,因为在你进入“上传”方法之前它不存在。

最佳答案

制作一个元组数组,其中包含 fileName 及其 URL 并简单地传递它:

 func uploadFiles(files:[(String,NSURL)]){
Alamofire.upload(
.POST,
"https://httpbin.org/post",
multipartFormData: { multipartFormData in

for (fileName, fileURL) in files{
multipartFormData.appendBodyPart(fileURL: fileURL, name: fileName)
}
},
encodingCompletion: { encodingResult in
switch encodingResult {
case .Success(let upload, _, _):
upload.responseJSON { response in
debugPrint(response)
}
case .Failure(let encodingError):
print(encodingError)
}
}
)
}

关于swift - 如何使用 Swift 和 Alamofire 上传任意数量的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35035805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com