2014-09-28 100 views
1

我創建了一個錯誤'遠程服務器返回錯誤:(404)未找到。Windows azure blob設置屬性

CloudBlockBlob blockBlob = container.GetBlockBlobReference("test.csv"); 
          blockBlob.Properties.ContentType = "text/csv; charset=utf-8"; 
          blockBlob.SetProperties(); 

錯誤是在SetProperties引發的。

我看過一些代碼,他們不調用SetProperties()。在這種情況下,contenttype是否保存到blob中?

我做了一些搜索,發現一些人建議檢查小提琴手。

以下是發生在提琴手..

/xxxevents?restype =容器結果404

/xxxevents?restype =容器結果201創建(Container.CreateIfNotExists稱爲)

現在它拋出創建blob時出錯..請求和響應標頭提供..

404 HTTPS xxx.blob.core.windows.net /xxxevents/test.csv?comp=properties 215  application/xml waworkerhost:5500 



PUT https://xxx.blob.core.windows.net/xxxevents/test.csv?comp=properties HTTP/1.1 
User-Agent: WA-Storage/4.3.0 (.NET CLR 4.0.30319.18444; Win32NT 6.1.7601.65536) 
x-ms-version: 2014-02-14 
x-ms-blob-content-type: text/csv; charset=utf-8 
x-ms-client-request-id: 2424933c-1bd7-49fd-998e-11d5499da03b 
x-ms-date: Sun, 28 Sep 2014 07:16:04 GMT 
Authorization: SharedKey xxx:tQ6DeUSVSq0TIaRjnVQoOgqNJIlHU5k1uay4loMeU04= 
Host: xxx.blob.core.windows.net 
Content-Length: 0 


HTTP/1.1 404 The specified blob does not exist. 
Content-Length: 215 
Content-Type: application/xml 
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 
x-ms-request-id: 7845cafa-0001-0033-7d19-af2c68000000 
x-ms-version: 2014-02-14 
Date: Sun, 28 Sep 2014 07:15:53 GMT 

會真誠地感謝任何幫助

感謝

+0

您上傳的斑點? – 2014-09-28 07:48:10

+0

不,創建容器後,我給出了提及的調用.. – Arnab 2014-09-28 07:58:51

+0

我已經成功上傳了使用SAS的BLOB。但是現在我有一個挑戰,要下載文件名的斑點。有人做過這個嗎? – 2016-01-20 07:12:20

回答

2

這是正常現象。 SetBlobProperties()方法只能在blob存儲中存在的blob上調用。你需要做的是首先上傳blob。

假設你想從上傳test.csv文件說C:\temp文件夾,這裏就是你需要做什麼:

  CloudBlockBlob blockBlob = container.GetBlockBlobReference("test.csv"); 
      blockBlob.Properties.ContentType = "text/csv; charset=utf-8"; 
      blockBlob.UploadFromFile(@"C:\temp\test.csv", FileMode.Open); 
+0

在這種情況下,FileMode意味着什麼。另外,在哪種情況下需要調用SetProperties() – Arnab 2014-09-28 09:12:46

+1

老實說,我不知道爲什麼我們需要'FileMode',因爲我們總是從blob讀取數據。正如我所提到的,您調用SetBlobProperties來更改現有Blob的屬性。舉一個例子,讓我們在上面提到的代碼中忘記包含第二行並上傳了blob。 blob的內容類型將是'application/octet-stream'。現在你想改變blob的內容類型。在這種情況下,您將使用您的代碼更改blob的內容類型。 HTH。 – 2014-09-28 09:42:06