C# 做微信小程序后台,基本服务器配置 以及 图片上传

转载地址https://blog.csdn.net/weixin_37752503/article/details/81007259
最近参加腾讯的高校微信小程序大赛,用C#做过几个网站,便用C#做后台写接口,在操作的过程中遇到了很多问题。由于C#的生态(C#是最好的语言,不接受反驳),网上资料很少,一边摸索着一边写,还是很艰难的,就先写个总结吧。

一、图片文件上传
1.1基本上传代码
刚开开始做图片上传的时候,前端代码可移步到腾讯小程序的开发文档点击打开链接,后端代码如下:

[WebMethod]                //使用web方法
      public string Get_photo()
      {
          try
          {
              string path = "/tmp/";
              HttpPostedFile file = System.Web.HttpContext.Current.Request.Files["upload"];
                //获取文件
              if (file != null)
              {
                  Stream sr = file.InputStream;        //文件流
                  Bitmap bitmap = (Bitmap)Bitmap.FromStream(sr);
                  path += file.FileName;
                  string currentpath = System.Web.HttpContext.Current.Server.MapPath("~");
                  bitmap.Save(currentpath + path);
              }
              return path;
          }
          catch (Exception ex)
          {
              throw ex;
          }
          
      }

大致思路就是,获取前端Post的文件“upload”并将图片保存到相对目录“tmp”目录下,并返回保存路径。
1.2本地服务器和云服务器运行不一致的问题

当我在本地服务器上传的时候没有问题,当放在云服务器时一直报错,上传失败。最后,找了各种博客,才知道,C#默认关闭网络服务的功能,就在web.config文件里加了下面的配置就能接收远程的“Get”和“Post”请求了。

<webServices>
      <protocols>
        <add name="HttpGet" />
        <add name="HttpPost" />
      </protocols>
 </webServices>

1.3上传大小的限制
文件上传之后,发现上传的文件只能是40k左右,一度找不到原因。最后,快要提交的时候看了老哥的博客点击打开链接,解决了问题,原来是自家自带的坑,真感觉到了这个世界对C#开发者的恶意。不过这种形式的改变会存在一个问题,当你的iis更新之后,配置文件会被重新覆盖,一时之间找不到很好的解决方案,先这么填坑吧。
1.4总结
这次开发学到了点东西,因为做图像处理的,所以对图像处理有了一定的了解,C#的生态什么时候能变好点啊,啊,啊, 啊。。。

猜你喜欢

转载自blog.csdn.net/weixin_40333655/article/details/89885156