无法通过 curl 和 php 完成文件上传

我一直在尝试将文件部分上传到 IBM 存储云,一切似乎都没问题。


IBM 文档链接:


它包括3个步骤


第 1 步:启动分段上传


我已经通过启动分段上传文档获得了我的上传 ID


第 2 步:上传部分


我上传的文件大约3504 字节(canada1.jpg),它通过上传部分文档分 4 部分上传。


以下是API 响应请求的上传部分的成功结果(标头表示 HTTP/1.1 200 OK)。


该文件在我的 IBM 存储桶中几乎可用,无论何时我查询列表部分,我都可以获得文件的每个详细信息,如下所示


PartNumber: 1 

ETag: "785c3d92f3222ce11c1920c656529601" 

Size: 1024 

PartNumber: 2 

ETag: "785c3d92f3222ce11c1920c656529601" 

Size: 1024 

PartNumber: 3 

ETag: "785c3d92f3222ce11c1920c656529601" 

Size: 1024 

PartNumber: 4 

ETag: "65cb76bccd0d52ca8f2ad374694012a3" 

Size: 432 

第 3 步:完成分段上传


现在我尝试按照相同的文档完成分段上传。


这是关于完成分段上传的内容,这是我遇到问题的地方


向具有查询参数uploadId 和主体中相应XML 块的对象发出的POST 请求将完成分段上传


curl -X "POST" "https://(endpoint)/(bucket-name)/(object-key)?uploadId=(upload-id)"

 -H "Authorization: bearer (token)"

 -H "Content-Type: text/plain; charset=utf-8"

 -d "<CompleteMultipartUpload>

         <Part>

           <PartNumber>1</PartNumber>

           <ETag>(etag)</ETag>

         </Part>

         <Part>

           <PartNumber>2</PartNumber>

           <ETag>(etag)</ETag>

         </Part>

       </CompleteMultipartUpload>"

这是我的问题:


当我尝试按照下面的代码完成文件上传时。这些代码会一直加载到浏览器上,直到超时。我已将超时分别增加到 3000,但同样的问题。看来帖子没有正确发送。


PIPIONE
浏览 164回答 1
1回答

慕盖茨4494581

这真的很有趣。缺少发布请求curl_setopt($ch,CURLOPT_CUSTOMREQUEST,'POST');
打开App,查看更多内容
随时随地看视频慕课网APP