微信小程序端上传图片到服务端项目,微信小程序在真机调试时调用wx.uploadFile提示“fail url not in domain list”时的处理办法

项目文件路径
微信小程序所在路径为 E:\WGY\微信小程序\FaultPatrol 项目下的audio页
在这里插入图片描述
服务器后端是在E:\WGY\后端学习\WebAPI_TEST\UploadImage路径下。

微信小程序端上传图片到服务端的一些要点:
1,服务端修改AppStart文件夹下的WebApiConfig.cs文件内的默认路由为

 config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{action}/{id}",  //修改的此处,增加了action
                defaults: new { id = RouteParameter.Optional }
            );

2,Http接口输出数据的格式修改
参考路径WebApi接口 - 响应输出xml和jsonhttps://www.cnblogs.com/webenh/p/6205582.html

var format = GlobalConfiguration.Configuration.Formatters;
            //默认输出方式为xml和json,清除XML则只有json了。清除默认xml
            format.XmlFormatter.SupportedMediaTypes.Clear();
//通过参数设置返回格式
format.JsonFormatter.MediaTypeMappings.Add(new QueryStringMapping("t", "json", "application/json"));
format.XmlFormatter.MediaTypeMappings.Add(new QueryStringMapping("t", "xml", "application/xml"));

使用链接后面加?t=xml来设置输出XML格式数据。例如http://*****?t=xml

调用wx.uploadFile提示“fail url not in domain list”是因为我们没有设置域名,或者我们的域名未使用https证书,只能使用http访问。
在这里插入图片描述
在这里插入图片描述
点击开发工具右上角“详情”
在这里插入图片描述
勾选不校验合法域名、web-view、TLS版本以及HTTPS证书
,并且在手机微信扫码真机调试二维码时,出现的调试界面也勾选此项
在这里插入图片描述

目前上传图片成功的,但是服务端保存图片到本地时一直出现异常,在ValuesController.cs下的
[HttpPost]
public string Get_photo()

在这里插入图片描述

第二天又调试了下,图片保存成功了,是因为指定的目录未创建,见下面代码及其注释

        [HttpPost]
        public string Get_photo()
        {
            string step = null;
            try
            {
                //之前调试是因为路径下一直没有此目录。
                string path = "/image/"; //路径使用"image\\" 和"/image/"都可以
                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;
                    step = path;
                    //~表示 Request.ApplicationPath
                    //获取到的路径为E:\\WGY\\后端学习\\WebAPI_TEST\\UploadImage\\UploadImage
                    string currentpath = System.Web.HttpContext.Current.Server.MapPath("~");
                    step = "saving " + currentpath + path;
                    bitmap.Save(currentpath + path);                   
                }
                return path;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值