文档中心 > 淘宝购物小程序-开发指引

PC 千牛上传文件使用说明

更新时间:2021/05/19 访问次数:6699

鉴于经常有开发者咨询上传链路不通,对此 my.uploadFile 做详细说明。

 

协议说明

通过 my.uploadFile 发送给服务器的报文内容,本质上是一个 multipart/form-data 表单。

 

可通过下面这个简单的网页来模拟:

1
<span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="cm-tag cm-bracket" style="color: #22863a; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><</span><span class="cm-tag" style="color: #22863a; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">form</span> <span class="cm-attribute" style="color: #6f42c1; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">action</span>=<span class="cm-string" style="color: #669900; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">"服务端地址"</span> <span class="cm-attribute" style="color: #6f42c1; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">method</span>=<span class="cm-string" style="color: #669900; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">"post"</span> <span class="cm-attribute" style="color: #6f42c1; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">enctype</span>=<span class="cm-string" style="color: #669900; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">"multipart/form-data"</span><span class="cm-tag cm-bracket" style="color: #22863a; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">></span> <br></span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"> <span class="cm-tag cm-bracket" style="color: #22863a; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><</span><span class="cm-tag" style="color: #22863a; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">input</span> <span class="cm-attribute" style="color: #6f42c1; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">type</span>=<span class="cm-string" style="color: #669900; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">"file"</span> <span class="cm-attribute" style="color: #6f42c1; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">name</span>=<span class="cm-string" style="color: #669900; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">"file"</span> <span class="cm-attribute" style="color: #6f42c1; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">id</span>=<span class="cm-string" style="color: #669900; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">"file"</span><span class="cm-tag cm-bracket" style="color: #22863a; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">><br></span></span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"> <span class="cm-tag cm-bracket" style="color: #22863a; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><</span><span class="cm-tag" style="color: #22863a; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">input</span> <span class="cm-attribute" style="color: #6f42c1; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">type</span>=<span class="cm-string" style="color: #669900; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">"submit"</span> <span class="cm-attribute" style="color: #6f42c1; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">value</span>=<span class="cm-string" style="color: #669900; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">"upload"</span><span class="cm-tag cm-bracket" style="color: #22863a; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">></span> <br></span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="cm-tag cm-bracket" style="color: #22863a; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"></</span><span class="cm-tag" style="color: #22863a; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">form</span><span class="cm-tag cm-bracket" style="color: #22863a; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">></span></span></span>

如果您在使用 API 时遇到问题,建议先使用这个网页来排查服务端能否正常接收。

 

注意事项

  • my.uploadFile 这个 API 有域名白名单管控,请到相关后台申请。请注意,并不是所有阿里系域名都在白名单内。如果您遇到返回“no permission”之类的错误信息,那就说明您访问的域名需要申请白名单。
  • 服务器地址请使用 https,目前仍然兼容 http,但按照规划未来会强制 https。目前仍然在使用 http 的,请尽快切换,以免将来业务受到影响。
  • 不要指定 Content-Type header,客户端会生成 Content-Type header: multipart/form-data; boundary=...

 

示例代码

1
<span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="cm-variable" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">my</span>.<span class="cm-property" style="color: #005cc5; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">uploadFile</span>({<br> </span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"> <span class="cm-property" style="color: #005cc5; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">url</span>: <span class="cm-string" style="color: #669900; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">'http://www.xxx.com/upload_receiver'</span>,<br> </span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"> <span class="cm-property" style="color: #005cc5; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">fileType</span>: <span class="cm-string" style="color: #669900; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">'image'</span>,<br> </span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"> <span class="cm-property" style="color: #005cc5; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">fileName</span>: <span class="cm-string" style="color: #669900; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">'uploaded_file'</span>,<br> </span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"> <span class="cm-property" style="color: #005cc5; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">filePath</span>: <span class="cm-string" style="color: #669900; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">'<filePath>'</span>, <span class="cm-comment" style="color: #6a737d; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">// 伪路径,由其他 API 获取(如my.chooseImage)<br></span> </span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"> <span class="cm-property" style="color: #005cc5; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">header</span>: {<br>   </span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"> <span class="cm-property" style="color: #005cc5; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">test_header</span>: <span class="cm-string" style="color: #669900; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">'test_value'</span>, <span class="cm-comment" style="color: #6a737d; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">// 非标准header,客户端会发送,能否处理取决于服务端<br></span>   </span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"> <span class="cm-property" style="color: #005cc5; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">origin</span>: <span class="cm-string" style="color: #669900; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">'origin'</span>, <span class="cm-comment" style="color: #6a737d; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">// 标准header<br></span> </span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"> },<br> </span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"> <span class="cm-property" style="color: #005cc5; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">formData</span>: {<br>   </span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"> <span class="cm-property" style="color: #005cc5; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">test_key</span>: <span class="cm-string" style="color: #669900; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">'test_data'</span>,<br> </span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"> },<br> </span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"> <span class="cm-property" style="color: #005cc5; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">complete</span>: (<span class="cm-def" style="color: #005cc5; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">res</span>) <span class="cm-operator" style="color: #d73a49; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">=></span> {<br>   </span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"> <span class="cm-variable" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">console</span>.<span class="cm-property" style="color: #005cc5; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">log</span>(<span class="cm-variable-2" style="color: #005cc5; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">res</span>);<br> </span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"> }, <br></span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">});</span></span>

 

它会产生一个 multipart/form-data 表单,HTTP 报文如下:

1
<span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">POST /upload_receiver HTTP/1.1<br></span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">Host: <a href="http://www.xxx.com">www.xxx.com</a><br></span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">Connection: keep-alive <br></span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">Content-Length: 250832 <br></span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">Content-Type: multipart/form-data;<br>boundary=----WebKitFormBoundaryyp7ENyhCrRrAdt2C <br></span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">origin: origin <br></span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">test_header: test_value </span></span> <br><br><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">------WebKitFormBoundaryyp7ENyhCrRrAdt2C <br></span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">Content-Disposition: form-data; <br>name="test_key" </span></span> <br><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">test_data <br><br></span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">------WebKitFormBoundaryyp7ENyhCrRrAdt2C <br></span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">Content-Disposition: form-data; <br>name="file"; <br>filename="uploaded_file" <br></span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">Content-Type: image<br><br></span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><...binary...> <br></span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">------WebKitFormBoundaryyp7ENyhCrRrAdt2C--</span></span>

 

API callback 结果:(上述示例代码中 res 的值)

1
<span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">{<br> </span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"> <span class="cm-string cm-property" style="color: #005cc5; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">"statusCode"</span>:<span class="cm-number" style="color: #005cc5; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">200</span>,<br> </span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"> <span class="cm-string cm-property" style="color: #005cc5; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">"success"</span>:<span class="cm-atom" style="color: #990055; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">true</span>,<br> </span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"> <span class="cm-string cm-property" style="color: #005cc5; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">"status_text"</span>:<span class="cm-string" style="color: #669900; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">""</span>,<br> </span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"> <span class="cm-string cm-property" style="color: #005cc5; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">"data"</span>:<span class="cm-string" style="color: #669900; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">"<response_data>"</span>,<br> </span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"> <span class="cm-string cm-property" style="color: #005cc5; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">"header"</span>:{<br>    </span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"> <span class="cm-string cm-property" style="color: #005cc5; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">"Connection"</span>:<span class="cm-string" style="color: #669900; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">"keep-alive"</span>,<br>    </span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"> <span class="cm-string cm-property" style="color: #005cc5; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">"Content-Type"</span>:<span class="cm-string" style="color: #669900; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">"text/html; charset=UTF-8"</span>,<br>    </span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"> <span class="cm-meta" style="color: #1f7f9a; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">...</span> </span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"> <br>  } <br></span></span><span class="lake-preview-line" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"><span class="lake-preview-codeblock-content" style="color: #595959; margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">} </span></span>

 

FAQ

关于此文档暂时还没有FAQ
返回
顶部