如何使用 alamofire 上传 zip 数据?

Posted

技术标签:

【中文标题】如何使用 alamofire 上传 zip 数据?【英文标题】:How to upload zip data with alamofire? 【发布时间】:2017-02-01 10:33:41 【问题描述】:

我尝试使用 Alamofire 上传数据

问题是:如果我尝试从项目上传图片,它可以正常工作,但如果我尝试上传 zip 目录,我得到错误和超时异常

我的代码会产生超时异常

let configuration = URLSessionConfiguration.default
    configuration.timeoutIntervalForRequest = 10 // seconds
    configuration.timeoutIntervalForResource = 10
    alamoFireManager = Alamofire.SessionManager(configuration: configuration)

let fileData = FileManager.default.contents(atPath: filePath)
alamoFireManager.upload(fileData,
                        to: url,
                        method: .post,
                        headers: headers)
        .validate()
        .responseJSON 

这是运行良好的代码

let configuration = URLSessionConfiguration.default
    configuration.timeoutIntervalForRequest = 10 // seconds
    configuration.timeoutIntervalForResource = 10
    alamoFireManager = Alamofire.SessionManager(configuration: configuration)

let fileURL = Bundle.main.url(forResource: "MyImage", withExtension: "jpg")

alamoFireManager.upload(fileURL,
                            to: url,
                            method: .post,
                            headers: headers)
        .validate()
        .responseJSON 

我尝试将 Data() 传递给 upload request 也尝试传递对 zip dit URL 的引用来上传请求,我也尝试了 InputStream(url: fileURL!)! 但没有成功......

我做错了什么?如何将 zip 数据发送到服务器?

如果有什么问题欢迎提问!

【问题讨论】:

为什么不是扩展名为zip的zip文件的文件路径? 你使用相同的网址?您的端点可以处理 zip 文件吗? 也许你的 10 秒超时时间也很短 添加这个以查看上传了多少:` .uploadProgress progress in // 默认调用主调度队列 print("Upload progress: (progress.fractionCompleted)") ` 您对zip dir 的确切含义是什么?它是一个 zip 文件 【参考方案1】:

最终,我发现了问题,服务器端不接受我的请求。此外,还有一些混乱,因为如果我尝试从我的项目中下载图像文件,它可以工作,但是如果从文档目录中选择该文件,则会出现问题。

无论如何,如果有人遇到类似问题,请尝试检查您的服务器端。

尝试检查您的请求是否到达服务器并包含内容。

【讨论】:

以上是关于如何使用 alamofire 上传 zip 数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Alamofire 4 中进行多部分表单数据上传?

Alamofire 4 - 使用 gzip 编码上传多部分

Swift 3 使用 Alamofire 将数据上传到服务器

如何在 Alamofire 中上传文件并在参数中传递数据 - swift 5

如何使用 Alamofire 上传具有身份验证的 MultipartFormData

如何在swift中使用alamofire上传图库图片