0

クラウド(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

using(var fileStream =System.IO.File.OpenWrite(@"C:\Users\prak\Pictures\ppp.JPG")) { blockBlob.DownloadToStream(fileStream); Response.Write("
"); Response.Write("正常にダウンロードされました!"); }*/

助けてください...よろしくお願いします

4

1 に答える 1

0

ファイルの内容を出力ストリームに直接書き込む ashx ハンドラーにフォームをリダイレクトする必要があります。これは Azure に固有のものではありませんが、ファイルが BLOB からアクセスされている場合は、"attachment;filename" でローカル パスを参照できるように一時的に Web サーバーに移動する必要がある場合があります。

Response.Clear();
Response.ContentType = "image/jpeg";
Response.AddHeader( "Content-Disposition", "attachment;filename=\"myfile.jpg\"" );
// write file data to output stream here
Response.End();

別の方法はHttpWebRequest、次の投稿で説明されているように使用することです。

URL からのファイルのダウンロード/ストリーミング - asp.net

于 2013-04-16T10:43:54.013 に答える