C#文件流下载保存到本地

wcj_me 2017-06-29 12:39:54
        public static string HttpDownloadFile(string url, string param, string path)
{
byte[] bs = Encoding.UTF8.GetBytes(param);
// 设置参数
HttpWebRequest req = WebRequest.Create(url) as HttpWebRequest;
System.Net.ServicePointManager.Expect100Continue = false;
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = bs.Length;
using (Stream reqStream = req.GetRequestStream())
{
reqStream.Write(bs, 0, bs.Length);
}
//发送请求并获取相应回应数据
HttpWebResponse response = req.GetResponse() as HttpWebResponse;
//直到request.GetResponse()程序才开始向目标网页发送Post请求
Stream responseStream = response.GetResponseStream();

//创建本地文件写入流
Stream stream = new FileStream(path, FileMode.Create);

byte[] bArr = new byte[1024];
int size = responseStream.Read(bArr, 0, (int)bArr.Length);
while (size > 0)
{
stream.Write(bArr, 0, size);
size = responseStream.Read(bArr, 0, (int)bArr.Length);
}
stream.Close();
responseStream.Close();
return path;
}

发布到IIS上的测试的时候,发现下载不是下载到本地,而是下载到服务器上了,是哪里错了,求大牛指点,下载这块实在不熟
...全文
3403 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wcj_me 2017-06-29
  • 打赏
  • 举报
回复
急急急~~~~~在线等
bloodish 2017-06-29
  • 打赏
  • 举报
回复
一个例子,照着写就OK download-stream-file-from-url-asp-net
xdashewan 2017-06-29
  • 打赏
  • 举报
回复
只有js或者a标签之类才能提示下载到客户端,c#程序运行在服务器,当然下载到服务器
wcj_me 2017-06-29
  • 打赏
  • 举报
回复
 string p = "orderInfoJson=" + JsonHelper.ObjectToJSON(param) + "&account=" + ac;
string url = url_Download;
string path = @"D:\PeopleOnTravelContract";
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
string res = HttpHelper.HttpDownloadFile(url, p, string.Format(path + @"\{0}.pdf", DateTime.Now.ToString("yyyyMMddHHmmss")));//待定
path没什么问题感觉,就是说直接下载到服务器,而不是客户端,我需要的是下载到客户端,而且创建文件夹也是创建在服务器上。忘了说了,我这个是要用AJAX调用下载的
闭包客 2017-06-29
  • 打赏
  • 举报
回复
下载到哪里,由你的 path 参数决定。

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧