asp.net 点击“下载”弹出“下载文件”对话框,网页与下载的文件不在同一服务器上,如何写?
url是http://172.16.174.20/xx/xx/xx.wav这样的格式,请问怎么写?...
url是http://172.16.174.20/xx/xx/xx.wav 这样的格式,请问怎么写?
展开
1个回答
展开全部
以下是我自己的一个公共方法,请参考。
首先要添加命名空间引用
using System.IO;
FileName是自定义要下载的文件的名称
FilePath是文件的实际存放路径
public static void DownloadFile(string FileName, string FilePath)
{
FileStream fs = new FileStream(FilePath, FileMode.Open, FileAccess.Read, FileShare.Read);
byte[] buffer = new byte[fs.Length];
int totalLength = (int)fs.Length;
int totalReadLength = 0;
while (totalLength > 0)
{
int readLength = fs.Read(buffer, totalReadLength, Math.Min(totalLength, int.MaxValue));
if (readLength == 0)
{
break;
}
totalReadLength += readLength;
totalLength -= readLength;
}
fs.Close();
HttpContext.Current.Response.Charset = "UTF-8";
HttpContext.Current.Response.AddHeader("Content-Disposition", string.Format("attachment; filename=" + FileName));
HttpContext.Current.Response.BinaryWrite(buffer);
HttpContext.Current.Response.OutputStream.Flush();
HttpContext.Current.Response.End();
}
更多追问追答
追问
FileName,FilePath这两个参数不太明白是什么意思?
FileName 是自定义要下载的文件的名称 是要下载的那个文件的名称吗?
FilePath 是文件的实际存放路径 文件下载到本地之后存放的路径吗?
FileName,FilePath这两个参数不太明白是什么意思?
FileName 是自定义要下载的文件的名称 是要下载的那个文件的名称吗?
FilePath 是文件的实际存放路径 文件下载到本地之后存放的路径吗?
这个方法只支持文件和项目是在同一个服务器上,如果项目和文件不在同一台服务器上的话就不行了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询