我可以成功地上传到Azure Blob存储,但我在下载文件(csv和pdf文件)时遇到了问题。
我的目标是将文件下载到浏览器(因为这将是一个web应用程序,我不知道下载文件的本地路径)。
string connString = ConfigurationManager.ConnectionStrings["MyTestStorageAccount"].ConnectionString;
CloudStorageAccount cloudStorageAccount = CloudStorageAccount.Parse(connString);
CloudBlobClient _blobClient = cloudStorageAccount.CreateCloudBlobClient();
CloudBlobContainer _cloudBlobContainer = _blobClient.GetContainerReference("filestorage");
CloudBlockBlob _blockBlob = _cloudBlobContainer.GetBlockBlobReference("testfile.csv");
Response.AddHeader("Content-Disposition", "attachment; filename=" + "testfile.csv");
_blockBlob.DownloadToStream(Response.OutputStream);
我在mvc中按照你的代码下载csv,当我打开它的时候,里面的内容不是我添加的,而是一些html模板。
如果这是您的问题,您可以参考以下代码:
public ActionResult Download()
{
CloudStorageAccount cloudStorageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString"));
CloudBlobClient _blobClient = cloudStorageAccount.CreateCloudBlobClient();
CloudBlobContainer _cloudBlobContainer = _blobClient.GetContainerReference("data");
CloudBlockBlob _blockBlob = _cloudBlobContainer.GetBlockBlobReference("table.csv");
Response.AddHeader("Content-Disposition", "attachment; filename=" + "table.csv");
MemoryStream ms = new MemoryStream();
_blockBlob.DownloadToStream(ms);
ms.Position = 0;
return File(ms, "application/octet-stream", "table.csv");
}
您还可以返回重定向(blobUrl);
有关详细信息,请参阅以下代码:
public ActionResult Download()
{
CloudStorageAccount account = new CloudStorageAccount(new StorageCredentials("accountname", "accountkey"), true);
var blobClient = account.CreateCloudBlobClient();
var container = blobClient.GetContainerReference("container-name");
var blob = container.GetBlockBlobReference("file-name");
var sasToken = blob.GetSharedAccessSignature(new SharedAccessBlobPolicy()
{
Permissions = SharedAccessBlobPermissions.Read,
SharedAccessExpiryTime = DateTime.UtcNow.AddMinutes(10),//assuming the blob can be downloaded in 10 miinutes
}, new SharedAccessBlobHeaders()
{
ContentDisposition = "attachment; filename=file-name"
});
var blobUrl = string.Format("{0}{1}", blob.Uri, sasToken);
return Redirect(blobUrl);
}
简要背景:我有一个在Azure Blob存储中存储文件的web服务。该服务的用户可以一次下载多个文件。如果下载的所有文件的总文件大小相对较小,那么我在服务器上压缩文件并返回该压缩文件--这里没有问题。 场景:例如,如果一个用户想要下载3个每个1GB的文件,那么我将这些文件下载到服务器是不现实的,将它们压缩,然后将压缩文件返回到浏览器。因此,对于这些场景,我将Azure Blob Storage U
我有一个基于Spring(Spring Security,Spring控制器和MVC)的项目,所以在我的超文本标记语言页面中,我必须允许文件下载。 我处理事件并使用基于jquery插件的代码 在我的控制器中: 但它在Spring Security性方面有问题,比如这个post x-frame,在internet explorer上不起作用。那么,有没有一种不用插件就能下载存储在我服务器上的文件的方
是否可以创建一个html表单,允许Web用户直接将文件上传到azure blob store,而不使用其他服务器作为中介?S3和GAW blob store都允许这样做,但我找不到对azure blob存储的任何支持。
从互联网下载图片,并显示。下载图片过程中显示进度条。支持图片缩放,运用了ASI、SDWebImage。支持图片缓存。 [Code4App.com]
问题内容: 我有以下代码,可让用户下载csv文件中的数据字符串。 如果客户端运行代码,它将生成空白页并开始下载csv文件中的数据,效果很好。 所以我试图用JSON对象来做到这一点 但是我只看到一个页面,上面显示了JSON数据,没有下载它。 我进行了一些研究,并且该研究声称可以工作,但是我的代码没有任何区别。 我在代码中缺少什么吗? 问题答案: 这是我为应用程序解决的方式: HTML: JS(纯JS
我正在尝试将html表下载为cvs文件。我的代码正在工作,但是,它正在下载一个名为“未知”的文件,没有扩展名。csv'。如果我手动添加扩展名,csv文件将正确显示除第一行之外的所有内容,该行还包含html代码(请参见所附图片) 我做错了什么? 以下是脚本: