110,561
社区成员
发帖
与我相关
我的任务
分享
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;
}
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调用下载的