1. 上传文件
FileStream fsRead = new FileStream(fileurl, FileMode.Open);
int fsLen = (int)fsRead.Length;
byte[] heByte = new byte[fsLen];
fsRead.Read(heByte, 0, heByte.Length);
long length = fsRead.Length;
string filename = fsRead.Name.Substring(fsRead.Name.LastIndexOf("\\") + 1);
fsRead.Close();
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http:.../cunnar/upload?cId=" + cId + "&fileId=" + contractid + "&fileLength=" + length + "&fileName=" + filename);
request.CookieContainer = new CookieContainer();
request.Method = "POST";
request.ContentType = "application/octet-stream";
request.ContentLength = heByte.Length;
request.GetRequestStream().Write(heByte, 0, heByte.Length);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream stream = response.GetResponseStream();
StreamReader sr = new StreamReader(stream);
string result = sr.ReadToEnd();
jsonCode = Newtonsoft.Json.JsonConvert.DeserializeObject<ReturnJsonCode>(result);
}
catch (Exception ex)
{
jsonCode.code = -1;
jsonCode.msg = "上传失败!";
}
2. 下载文件(直接打开pdf文件的数据流)
public Stream DownloadFile(string cId, string cFileId)
{
ReturnJsonCode jsonCode=new ReturnJsonCode();
try
{
string url = "http://.../cunnar/download?cId=" + cId +
"&cFileId=" + cFileId;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.ContentType = "application/pdf";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream stream = response.GetResponseStream();
return stream;
}
catch (Exception ex)
{return null;
}
调用下载文件方法
Stream fs = cert.DownloadFile("4960332", "1263932");
MemoryStream ms = new MemoryStream();
fs.CopyTo(ms);
Response.ClearContent();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "inline;FileName=out.pdf");
Response.BinaryWrite(ms.ToArray());