我可以使用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而不是文件 –