菜鸟教程小白 发表于 2022-12-11 17:47:55

ios - 使用 AlamoFire 将图像上传到 Uploadcare.com


                                            <p><p>我不知道如何使用 Alamofire 将图像上传到 <a href="https://uploadcare.com/documentation/upload/#from-url" rel="noreferrer noopener nofollow">Uploadcare.com (reference)</a> .我应该给出图像或二进制数组的路径?我不确定将字符串转换为 <code>Data</code> 对象是否正确</p>

<pre><code> func uploadPhoto(imageToUpload : UIImage){

      let keyJson = (&#34;&lt;my_api_key&gt;&#34;).data(using: .utf8)!
      let uploadStore = &#34;1&#34;.data(using: .utf8)
      let imageData = UIImageJPEGRepresentation(imageToUpload, 0.2)

      Alamofire.upload(
            multipartFormData: { multipartFormData in
                multipartFormData.append(keyJson, withName: &#34;UPLOADCARE_PUB_KEY&#34;)
                multipartFormData.append(uploadStore!, withName: &#34;UPLOADCARE_STORE&#34;)
                multipartFormData.append(imageData!, withName: &#34;file&#34;)
            },
            to: &#34;https://upload.uploadcare.com/base/&#34;,
            encodingCompletion: { encodingResult in
                switch encodingResult {
                case .success(let upload, _, _):
                  upload.responseJSON { response in
                        debugPrint(response)
                  }
                case .failure(let encodingError):
                  debugPrint(encodingError)
                }
            }
      )
    }
</code></pre>

<p>结果:</p>

<pre><code>: &lt;NSHTTPURLResponse: 0x6100002390a0&gt; { URL: https://upload.uploadcare.com/base/ } { status code: 400, headers {
    &#34;Access-Control-Allow-Credentials&#34; = true;
    &#34;Access-Control-Allow-Headers&#34; = &#34;X-PINGOTHER, DNT&#34;;
    &#34;Access-Control-Allow-Methods&#34; = &#34;POST, OPTIONS&#34;;
    &#34;Access-Control-Allow-Origin&#34; = &#34;*&#34;;
    &#34;Access-Control-Max-Age&#34; = 1;
    Connection = &#34;keep-alive&#34;;
    &#34;Content-Length&#34; = 31;
    &#34;Content-Type&#34; = &#34;text/html; charset=utf-8&#34;;
    Date = &#34;Sun, 09 Oct 2016 18:41:45 GMT&#34;;
    Server = nginx;
    &#34;X-Frame-Options&#34; = DENY;
} }
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>正如我所见,使用 Alamofire 有两种方法可以做到这一点。您可以使用像 <code>public func append(_ fileURL: URL, withName name: String)</code> 这样获取文件 URL 的函数,并为它们提供一个文件 URL。或者您可以将图像转换为数据并使用 <code>public func append(_ data: Data, withName name: String)</code></p> 等函数发送</p>
                                   
                                                <p style="font-size: 20px;">关于ios - 使用 AlamoFire 将图像上传到 Uploadcare.com,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/39947643/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/39947643/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 使用 AlamoFire 将图像上传到 Uploadcare.com