我正在尝试发送带有参数的照片,但要注意的是我想将JSON数组发送到服务器。看来Alamofire没有发送列表的方法Data,那么还有什么替代方法呢?
问题的关键部分是:
var encodedTags: [Data] = tags.map({ return $0.data(using: .utf8)!})
mpd.append(encodedTags, withName: key)
Run Code Online (Sandbox Code Playgroud)
在此上传调用中:
let parameters: [String: Any] = ["username": "TheCooliest", ..., "tags": ["KoolKid", "TheKooliest", "BetterThanKimK"]
...
upload(multipartFormData: { (mpd) in
mpd.append(url, withName: "file", fileName: "weeknd.jpg")
for (key, value) in parameters {
if let tags = value as? [String], key == "tags" {
var encodedTags = tags.map({ return $0.data(using: .utf8)!})
mpd.append(encodedTags, withName: key)
}
}
}
Run Code Online (Sandbox Code Playgroud) 根据Apple文档,它是存储在主存储器中的图像,但这些图像如何用于制作电影?
我似乎无法将照片正确上传到Django.这是问题所在.
request.FILES是空的.然而,在身体中我看到一堆乱码(这将是照片数据).我试过这个让它工作但它仍然显示为空:
在Django:
class UploadPhoto(APIView):
parser_classes = (MultiPartParser, FormParser, )
authentication_classes = (TokenAuthentication,)
permission_classes = (IsAuthenticated,)
def post(self, request, format=None):
print(request.FILES)
return Response(status=status.HTTP_200_OK)
Run Code Online (Sandbox Code Playgroud)
在iOS中:
func photoUploader(photo: UIImage, completion: @escaping (Bool) -> Void) {
let imageData = UIImageJPEGRepresentation(photo, 0.8)
guard let authToken = Locksmith.loadDataForUserAccount(userAccount: "userToken")?["token"] as? String else {
return
}
let headers: HTTPHeaders = ["Authorization": authToken]
var url: URLRequest?
do {
url = try URLRequest(url: EntityURLs.uploadPhotoURL, method: .post, headers: headers)
} catch {
print("Error")
}
if let url = …Run Code Online (Sandbox Code Playgroud)