2013-03-24 12 views
0

我創建了一個網站,可以用來上傳文件到雲並下載它。當我嘗試下載文件時,它在本地運行一切正常。將文件發佈到Azure後,狀態顯示該文件已下載,但文件在下載位置不可用。 由於提前從blob下載本地工作,但不是在發佈後

//My Download Code 
` protected void OnDownloadImage(object sender, CommandEventArgs e) 
    { 
    var account = CloudStorageAccount.FromConfigurationSetting("DataConnectionString"); 
    var client = account.CreateCloudBlobClient(); 
    CloudBlobContainer blobContainer = client.GetContainerReference("Gallery"); 
    var blobUri = (string)e.CommandArgument; 
    var srcBlob = this.GetContainer().GetBlobReference(blobUri); 
    srcBlob.FetchAttributes(new BlobRequestOptions { BlobListingDetails = BlobListingDetails.Metadata }); 
    var path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)); 
    path = path + @"\AJStorage"; 
    Directory.CreateDirectory(path); 
    path = path + "\\" + Path.GetFileName(srcBlob.Metadata["FileName"]); 
    srcBlob.DownloadToFile(path); 
    this.status.Text = "File Download Successful. File Location : " + path; 
    }` 
+0

@Jothishwar RS,請在您的問題中重新格式化您的代碼並多解釋一下以獲得幫助。 – jay 2013-03-24 17:30:40

+0

我認爲問題在於我設置了將文件保存到本地光盤的路徑。錯誤可能是因爲服務器沒有適當的權限來創建文件。我想知道如何改變我的代碼,以允許從服務器下載文件,同時在本地正常工作。 謝謝 – 2013-03-24 18:49:10

回答

0

我想我明白這個問題。您正試圖將文件下載到桌面 - 但這將是Web服務器的桌面(幾乎可以肯定沒有權限),而不是用戶的桌面(這可能是您以後的內容)。如果是這樣,你不能直接這樣做。請嘗試將文件發送到HTTP響應流。 (我使用的是DownloadToStream,它是Microsoft.WindowsAzure.StorageClient的一部分)

+0

thnx Andiih給你回覆。恰恰wat你說的是我的網站的錯誤。現在我清除了我的錯誤,並設置爲wrk :) thnx很多 我以前也有過下面的博客。 http://blogs.msdn.com/b/avkashchauhan/archive/2011/04/05/downloading-word-and-excel-files-from-windows-azure-storage-in-a-asp-net-web -role.aspx – 2013-03-24 19:46:46

+0

酷 - 你引用的代碼使用DownloadToStream,幾乎正是我所做的:-) – Andiih 2013-03-25 08:56:16

相關問題