我可以使用Azure提供的REST API将文件上载到azure blob。在REST请求中设置元数据以将BLOB放入AZURE
我想设置元数据时,我正在做blob的请求,当我将它设置为标头如图所示here我很难上传文件,并得到以下异常org.apache.http.client.ClientProtocolException
。
从代码的最后一行下面
HttpPut req = new HttpPut(uri);
req.setHeader("x-ms-blob-type", blobType);
req.setHeader("x-ms-date", date);
req.setHeader("x-ms-version", storageServiceVersion);
req.setHeader("x-ms-meta-Cat", user);
req.setHeader("Authorization", authorizationHeader);
HttpEntity entity = new InputStreamEntity(is,blobLength);
req.setEntity(entity);
HttpResponse response = httpClient.execute(req);
关于一样的,我有两个问题。
可以设置不同的元数据,避免了文件的覆盖? See my question for the same here
如果是的第一个问题,如何在REST请求中设置元数据将blob放入Azure中?
请帮助
您可以分享生成授权标头的代码吗?你可能想要确保的一件事是你在自动化头部计算中也包含了自定义的metedata头文件。您也可能想要追踪Fiddler中的请求/响应,以查看存储服务返回的确切错误消息。 –
http://techblogvjd.blogspot.in/2013/06/virustechblog1.html 这与我所做的一样,只是单个更改,使用inputstream而不是文件 –