Azure 如何打开“另存为”对话框以从云下载

Azure 如何打开“另存为”对话框以从云下载,azure,save,cloud,download,filestream,Azure,Save,Cloud,Download,Filestream,我正在做一个项目,其中包括从云(Azure)存储下载文件。我想打开“另存为”对话框,但无法获取它。我使用了以下代码 enter code here // Retrieve reference to a blob named "myblob". CloudBlockBlob blockBlob = container.GetBlockBlobReference("myblob1"); string FileName = "a3.jpg"; strin

我正在做一个项目,其中包括从云(Azure)存储下载文件。我想打开“另存为”对话框,但无法获取它。我使用了以下代码

enter code here // Retrieve reference to a blob named "myblob".
        CloudBlockBlob blockBlob = container.GetBlockBlobReference("myblob1");
        string FileName = "a3.jpg";
        string Filename = FileName.Substring(0, FileName.LastIndexOf("."));``
        Response.AppendHeader("Content-Disposition", "attachment; filename=" FileName);
        Response.TransmitFile(Server.MapPath("~/blockBlob/myblob1/" + Filename));
        Response.End();

        /* to download file from cloud
使用(var fileStream=System.IO.File.OpenWrite(@“C:\Users\prak\Pictures\ppp.JPG”)) { blockBlob.DownloadToStream(文件流); 响应。写入(“
”); 回复。写(“成功下载!”); }*/

请帮忙。。。
提前感谢

您需要将表单重定向到ashx处理程序,该处理程序将文件内容直接写入输出流。这并不特定于Azure,但如果文件是从blob访问的,则可能需要将其临时移动到web服务器,以便您可以在“附件;文件名”中引用本地路径

另一种方法是使用
HttpWebRequest
,如下文所述:


对不起……它不工作……实际上传输的是一个空文件。。。。我使用了以下代码:Response.Clear();Response.ContentType=p;Response.AddHeader(“内容处置”、“附件;文件名=“+p”);*//使用(var fileStream=System.IO.file.OpenWrite(@“C:\Users\public\desktop\”+p)){blockBlob.DownloadToStream(fileStream);}Response.End(),将文件数据写入此处的输出流;
Response.Clear();
Response.ContentType = "image/jpeg";
Response.AddHeader( "Content-Disposition", "attachment;filename=\"myfile.jpg\"" );
// write file data to output stream here
Response.End();