2012-05-08 2 views
0

Ниже приведен код для загрузки загрузочного файла из лазурного пятна. У меня проблема с файлами .docx, .xlsx, и это тоже после развертывания, значит, на локальной машине работает нормально.Файл, загруженный с Azure Blob

Проблема заключается в загрузке .xlsx или .docx, когда я открываю этот файл с файлом, поврежденным всплывающим окном.

public void DownloadBlob(string blobName) 
{ 
    //You have to get values for below items from azure 
    string accountName = "MyAccName"; 
    string accountPrimaryKey = "MyKey"; 
    string blobContainer = "ContainerName"; 
    CloudStorageAccount account = new CloudStorageAccount(new StorageCredentialsAccountAndKey(accountName, accountPrimaryKey), false); 
    CloudBlobClient blobClient = account.CreateCloudBlobClient(); 
    CloudBlobContainer container = blobClient.GetContainerReference(blobContainer); 
    CloudBlob blob = container.GetBlobReference(blobName); 
    MemoryStream memStream = new MemoryStream(); 
    blob.DownloadToStream(memStream); 

    Response.ContentType = blob.Properties.ContentType; 
    Response.AddHeader("Content-Disposition", "Attachment; filename=" + blobName.ToString()); 
    Response.AddHeader("Content-Length", (blob.Properties.Length - 1).ToString()); 
    Response.BinaryWrite(memStream.ToArray()); 
    Response.End(); 
} 
+0

Я не знаю, если это вопрос (кажется маловероятным), но почему вы вычитанием один из длины? Кажется, что отрубает последний байт файла. – smarx

ответ

1

Уверен, что у вас есть код с кодом, поскольку Стив предложил установить неправильную длину.

я работал над подобным вопросом когда-то в прошлом году и документально решение в своем блоге, как показано ниже:

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

Смежные вопросы