tnblog
首页
视频
资源
登录

C#.Net 配合小程序实现经过第三方服务器中转文件

5753人阅读 2018/11/26 9:41 总访问:29489 评论:0 收藏:0 手机
分类: 微信小程序


             


   某些时候,微信小程序前段上传文件的时候需要经过第三方服务器再将文件上传到客户的服务器;操作如下:

1:(小程序内向中端服务器发起请求)

  1. wx.uploadFile({
  2. url: getApp().globalData.appUrl + '/phone/upimg.aspx',//中端的处理界面
  3. filePath: filep,//本次传输的文件
  4. name: 'file',//文件的name
  5. formData: {//formData为自定义参数对象
  6. index: i + 1,
  7. Type"Bill-CWDZ",
  8. OrderID: _tempBid,
  9. SendType"wx",
  10. u: app.globalData.url//当前小程序所在服务器url
  11. },
  12. successfunction (ex{
  13. }

2:中端服务器的操作

  1.  if (Context.Request["Type"] != null && Context.Request["u"] != null)
  2.             {
  3.                 string _url = string.Format("{0}/Util/UpdataPZImgPhone.aspx", Context.Request["u"].ToString());
  4.                 //处理接收到的请求,解析请求内容与大小
  5.                 var curRequest = HttpContext.Current.Request;
  6.                 byte[] inputBytes;
  7.                 int inputStreamLength;
  8.                 using (var inputStream = curRequest.InputStream)
  9.                 {
  10.                     inputStreamLength = Convert.ToInt32(inputStream.Length);
  11.                     inputBytes = new byte[inputStreamLength];
  12.                     inputStream.Read(inputBytes, 0, inputStreamLength);
  13.                     inputStream.Close();
  14.                 }
  15.                 //构造真正的请求
  16.                 //请求方式为POST,请求内容格式、内容与接收到的请求保持一致
  17.                 var request = (HttpWebRequest)WebRequest.Create(_url);
  18.                 request.Method = "POST";
  19.                 request.ContentType = curRequest.ContentType;
  20.                 request.ContentLength = curRequest.ContentLength;
  21.                 using (var requestStream = request.GetRequestStream())//真正的请求目标服务器,把文件传输过去
  22.                 {
  23.                     requestStream.Write(inputBytes, 0, inputStreamLength);
  24.                     requestStream.Close();
  25.                 }
  26.                 //Log.Instance.Info("步骤2");
  27.                 //获取请求返回响应结果
  28.                 using (var _resp = request.GetResponse())
  29.                 {
  30.                     Stream stream = _resp.GetResponseStream();
  31.                     //Log.Instance.Info("步骤3");
  32.                     //处理返回结果
  33.                     using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
  34.                     {
  35.                         _result = reader.ReadToEnd();
  36.                         reader.Close();
  37.                     }              
  38.                     stream.Close();
  39.                     stream = null;
  40.                     _url = null;
  41.                 }
  42.             }


评价

net core 使用 EF Code First

下面这些内容很老了看这篇:https://www.tnblog.net/aojiancc2/article/details/5365 项目使用多层,把数据库访问...

cAPS.net 保存base64位格式的图片

publicvoidUpload() { //取出图片对应的base64位字符 stringimgBase=Request["imgBase"]; //c#里边的base6...

Quartz.net实例动态改变周期调度。misfire、Cron

Quartz:Java编写的开源的任务调度作业框架 类似Timer之类定时执行的功能,但是更强大Quartz.NET:是把Quartz转成C# NuGet...

.net Windows服务发布、安装、卸载、监听脚本。服务调试

一、脚本 为方便不用每次都去写安装卸载的脚本1.安装脚本@echooff @echo开始安装【服务】 %SystemRoot%\Microsoft.NET\Fr...

c、VB.net中全角半角转换方法

///<summary> ///转全角的函数(SBCcase) ///</summary> ///<paramname="input">任意字符串...

.net mvc分部页,.net core分部页

.net分部页的三种方式第一种:@Html.Partial("_分部页")第二种:@{ Html.RenderPartial("分部页");}...

.net实现QQ邮箱发送邮件功能

1、微软已经帮我们封装好了发送邮件的类MailMessage,MailMessage类构造一些邮件信息,然后通过SmtpClient进行邮件发送。Mai...

StackExchange.Redis操作redis(net core支持)

官方git开源地址https://github.com/StackExchange/StackExchange.Redis官方文档在docs里边都是官方的文档通过nuget命令下...

windows 自带的netsh进行端口映射

使用netsh 把本地任意ip的25566端口 映射到192.168.81.234的25565端口netshinterfaceportproxyaddv4tov4listenaddress=0.0....

确保.net程序始终以管理员身份运行

usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; usingSystem.Threading.Tasks; ...

ASP.net Timer细节处理

Timer的用法:1:本人称之为计时器,是asp.net官方的一种。用法即是计时所用 2:关于计时有很多中方式,本人学识有限,暂...

.net core 使用session

tip:net core 2.2后可以直接启用session了,不用在自己添加一次session依赖,本身就添加了使用nuget添加引用Microsoft.AspN...

通俗易懂,什么是.net?什么是.net Framework?什么是.net core?

朋友圈@蓝羽 看到一篇文章写的太详细太通俗了,搬过来细细看完,保证你对.NET有个新的认识理解原文地址:https://www.cnblo...

asp.net core2.0 依赖注入 AddTransient与AddScoped的区别

asp.net core主要提供了三种依赖注入的方式其中AddTransient与AddSingleton比较好区别AddTransient瞬时模式:每次都获取一...

asp.net主动推送百度seo

虽然可以使用百度提供的js自动推送,但是估计度娘还是希望主动推送一点。哈哈^_^,女孩子嘛大多都喜欢被动一点。publicclass...
Q:859089450
排名
58
文章
3
粉丝
3
评论
3
微信小程序中利用DOM获取页面元素的信息
321321 : 小程序不是 双向数据绑定的 谢谢
在微信小程序中还原手机淘宝页面
修心 : 不错啊...还原度挺高的
微信小程序中利用DOM获取页面元素的信息
剑轩 : 可以可以,小程序上面的dom操作
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术