Ниже приведен код для загрузки загрузочного файла из лазурного пятна. У меня проблема с файлами .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();
}
Я не знаю, если это вопрос (кажется маловероятным), но почему вы вычитанием один из длины? Кажется, что отрубает последний байт файла. – smarx