C#,webservice类型接口上传文件

postman
在这里插入图片描述
代码:

 //PDF转文件流
 string path="D:\\1.pdf";
 byte[] bytes = File.ReadAllBytes(path);
 List<CTGDFile> fileList = new List<CTGDFile>();
 CTGDFile ctfile = new CTGDFile();
 ctfile.fileDate = bytes;
 ctfile.name = "file";
 ctfile.filename = path;//这里是文件的路径
 fileList.Add(ctfile);
 string boundary = "----------------------------" + DateTime.Now.Ticks.ToString("x");
 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
 request.ContentType = "multipart/form-data; boundary=" + boundary;
 request.Method = "POST";
 request.KeepAlive = true;
 //这里可以增加头部文件
 //request.Headers["x-timevale-project-id"] = Projectid;
 //request.Headers["x-timevale-signature"] = Secret;
 MemoryStream stream = new MemoryStream();
 byte[] line = Encoding.ASCII.GetBytes("--" + boundary + "\r\n");
 byte[] enterER = Encoding.ASCII.GetBytes("\r\n");
 提交文件
 if (fileList != null)
 {
     string fformat = "Content-Disposition:form-data; name=\"{0}\";filename=\"{1}\"\r\nContent-Type:{2}\r\n\r\n";
     foreach (CTGDFile file in fileList)
     {
         string contentType = "application/pdf";//上传文件的类型
         stream.Write(line, 0, line.Length);        //项目分隔符
         string s = string.Format(fformat, file.name, file.filename, contentType);
         WriteLog(s);
         byte[] data = Encoding.UTF8.GetBytes(s);
         stream.Write(data, 0, data.Length);
         stream.Write(file.fileDate, 0, file.fileDate.Length);
         stream.Write(enterER, 0, enterER.Length);  //添加\r\n
     }
 }
 byte[] foot_data = Encoding.UTF8.GetBytes("--" + boundary + "--\r\n");      //项目最后的分隔符字符串需要带上--  
 stream.Write(foot_data, 0, foot_data.Length);
 request.ContentLength = stream.Length;
 Stream requestStream = request.GetRequestStream(); //写入请求数据
 stream.Position = 0L;
 stream.CopyTo(requestStream); //
 stream.Close();
 requestStream.Close();
 HttpWebResponse response = (HttpWebResponse)request.GetResponse();
 return response;
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值