ios - 如何从 iPhone 本地内存上传图像、pdf、音频、视频和任何文件系统到服务器(API)

标签 ios objective-c swift iphone xcode

我必须将任何类型的文件系统从本地手机内存上传到给定的 API。有没有简单的方法,请帮忙。

最佳答案

您可以使用 Alamofire 库。 https://github.com/Alamofire/Alamofire

Alamofire.upload(multipartFormData: { (multipartFormData) in
    if let parameters = parameters {
        for (key, value) in parameters {
            if let value = value as? String {
                multipartFormData.append(value.data(using: .utf8)!, withName: key)
            }else if let _image = value as? UIImage, let image = _image.resized(toWidth: 500) {
                if let jpegData = image.jpegData(compressionQuality: 0.5) {
                    multipartFormData.append(jpegData, withName: key, fileName: "post.jpeg", mimeType: "image/jpeg")
                }else if let pngData = image.pngData() {
                    multipartFormData.append(pngData, withName: key, fileName: "post.png", mimeType: "image/jpeg")
                }
            }else {
                multipartFormData.append(Data(from: value), withName: key)
            }
        }
    }
}, usingThreshold: UInt64.init(), to: urlString, method: method, headers: headers, encodingCompletion: { (result) in
    switch result {
    case .success(let upload, _, _):
        upload.responseJSON { response in
            if let responseData = response.result.value as? NSDictionary {
                completion(responseData, response.data, response.result)
            }else if let responseData = response.result.value as? [String: Any] {
                completion(responseData as NSDictionary, response.data, response.result)
            }else {
                completion([:], nil, response.result)
            }
        }
        break
    case .failure(let encodingError):
        completion([:], nil, .failure(encodingError))
        break
    }
})

关于ios - 如何从 iPhone 本地内存上传图像、pdf、音频、视频和任何文件系统到服务器(API),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59038013/

相关文章:

ios - 选择文本字段时 UISearchBar 会更改背景

swift - 如何在 Swift 中创建嵌套的字典元素?

ios - 如何让 kGADAdSizeSmartBannerPortrait 工作

ios - 未设置 prepareForSegue 目标 Controller 属性

ios - 通过证书进行客户端身份验证的 Swift 3 UrlSession

ios - NSString drawInRect :withAttributes: is not drawing text with greater width than the rect in iOS 7. 0.3

objective-c - GCD - 串行队列是否需要 `NSLock` 或内存屏障来同步工作?

ios - iPhone、iPad 上的动画 Gif 问题

iphone - AVPlayer 不播放视频文件

swift - Swift中 `try`关键字的用途是什么?