1

次のコードがあります

    Protected Sub Button1_Click(sender As Object, e As System.EventArgs) Handles submit1.Click

    Dim filename As String = "C:\pdfs\" + TextBox1.Text
    Response.TransmitFile(filename)

End Sub

Textbox1.text は、拡張子を含む pdf の名前です。これは、pdfのファイル名が呼び出し元のWebページの名前に変更されることを除いて、正常に機能します。c:\pdfs の pdf の名前はそのままです。

名前変えるのやめようかな。

4

2 に答える 2

3

Response.TransmitFile を次のように変更します。

Dim fileInfo As FileInfo = new FileInfo("C:\pdfs\" + TextBox1.Text)

 Response.ContentType = "application/octet-stream";
 Response.AddHeader("Content-Disposition", String.Format("attachment;filename=\"{0}\"", TextBox1.Text));
 Response.AddHeader("Content-Length", fileInfo.Length.ToString());
 Response.WriteFile(fileInfo.FullName);
 Response.End();
于 2013-03-15T20:37:17.793 に答える
1

必要に応じて、Transferfile を引き続き使用できますが、この方法で行うことができます。

FileInfo file = new FileInfo(filePath);

//LINE1:強制的に開く/キャンセル/保存ダイアログを表示する「ファイル名」と添付ファイルをヘッダーと名前に追加します

response.AddHeader("Content-Disposition", "attachment; filename=" + fileName);

//ファイル サイズを応答ヘッダーに追加します

response.AddHeader("Content-Length", file.Length.ToString());

//ContentType を設定します

response.ContentType = file.Extension.ToLower();

//ファイルを応答に書き込みます (TransmitFile は ASP.NET 2.0 用です。ASP.NET 1.1 では代わりに WriteFile を使用する必要があります)

response.TransmitFile(file.FullName);
于 2014-11-10T21:28:55.660 に答える