1

我正在使用签名的 url 从使用 Air 的移动设备上传 blob。

我有两个问题:

使用签名 URL 上传 blob 时,我假设我不需要包含文档中描述的所有标头。我是否认为我只需要对PUTURL 发出请求并将编码到正文中的文件包含在Content-Type设置为 中multipart/form-data; boundary=[[boundary here]]

var client:HttpClient = new HttpClient();
var request:HttpRequest = new Put();
request.body =  UploaderPostHelper.getPostData( filename,  byteArray);
request.contentType = 'multipart/form-data; boundary=' + UploaderPostHelper.getBoundary();
client.request(new URI(signedUrl), request);

http://msdn.microsoft.com/en-us/library/windowsazure/dd179451.aspx

(UploadPostHelper 的源代码在这里https://code.google.com/p/as3asclublib/source/browse/trunk/net/UploadPostHelper.as

其次,我可以指定我想使用 POST 请求和标头执行 PUT 请求吗?

干杯。

4

2 回答 2

3

使用签名 URL 上传 blob 时,我假设我不需要包含文档中描述的所有标头。

您需要指定 2 个标题 -Content-Lengthx-ms-blob-type. 我假设您将文件保存为块 blob,因此值x-ms-blob-type应该是BlockBlob.

Content-Type应该是文件的内容类型,例如plain/txtimage/gif

其次,我可以指定我想使用 POST 请求和标头执行 PUT 请求吗?

不确定这个。您请求的HTTP方法应该是PUT.

于 2013-09-17T09:25:07.673 回答
2

PUT 操作都需要 x-ms-version、Authorization、Date 或 x-ms-date、Content-Length 和 x-ms-blob-type。内容类型是可选的。

请参阅http://msdn.microsoft.com/en-us/library/windowsazure/dd179451.aspx

于 2014-03-16T03:48:08.600 回答