asp.net 点击“下载”弹出“下载文件”对话框,网页与下载的文件不在同一服务器上,如何写?

url是http://172.16.174.20/xx/xx/xx.wav这样的格式,请问怎么写?... url是http://172.16.174.20/xx/xx/xx.wav 这样的格式,请问怎么写? 展开
 我来答
jake_ge
2013-07-02 · TA获得超过191个赞
知道小有建树答主
回答量:104
采纳率:0%
帮助的人:61.4万
展开全部

以下是我自己的一个公共方法,请参考。

首先要添加命名空间引用

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 是文件的实际存放路径 文件下载到本地之后存放的路径吗?

这个方法只支持文件和项目是在同一个服务器上,如果项目和文件不在同一台服务器上的话就不行了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式