小程序上传图像失败

小程序端

javascript 复制代码
onChooseAvatar(e) {
    wx.showLoading({ title: '加载中' });
        const that = this; 

        const fs = wx.getFileSystemManager();
        fs.readFile({
          filePath: e.detail.avatarUrl,
          encoding: 'base64',
          success:(res) =>{
            wx.request({
              url: getApp().globalData.host + "User/UploadBase64",
              method: 'POST',
              //header: { 'content-type': 'application/json' },
              data: {
                data: res.data
              },
              success:(r) =>{ 
                this.setData({ avatarUrl: getApp().globalData.url + r.data })
                wx.showToast({ title: '上传成功', icon: 'none' })
             },
              fail(e) { console.error('base64 upload fail', e); }
            });
          },
          fail(e) { console.error('readFile fail', e); }
        });
  }

服务器端

cs 复制代码
[AllowAnonymous]
[HttpPost, Route("UploadBase64")]
public string UploadBase64(string data)
{
    try
    {
        if (string.IsNullOrEmpty(data)) throw new Exception("no data");
        var bytes = Convert.FromBase64String(data);
        string folder = "/Uploads/image";
        string save = Server.MapPath(folder);
        if (!Directory.Exists(save)) Directory.CreateDirectory(save);
        string file = Guid.NewGuid().ToString() + ".jpg";
        string full = Path.Combine(save, file);
        System.IO.File.WriteAllBytes(full, bytes);
        return Path.Combine(folder, file).Replace('\\', '/');
    }
    catch (Exception ex)
    {
        return ex.Message;
    }
}
相关推荐
加号33 小时前
【C#】 HTTP 请求通讯实现指南
开发语言·http·c#
步步为营DotNet3 小时前
.NET 11 中 Microsoft.Extensions.AI 在智能后端推理与决策优化的应用
云原生·c#·.net
纤纡.4 小时前
HarmonyOS 鸿蒙 ArkTS 实战:从零开发生肖集卡抽奖小程序
华为·小程序·harmonyos·deveco studio
工程师0074 小时前
.NET 线程池 工作线程 扩容 + 空闲 + 回收 原理
c#·线程池·扩容·回收·空闲
njsgcs4 小时前
c# solidworks createline 拉伸发现有微小两点间隙 导致拉伸变成薄壁特征 改bug画了6个小时 解决结果
c#·bug·solidworks
时光追逐者4 小时前
一款基于 C# 开发的 Windows 10/11 系统增强工具,精简、优化、定制一站完成!
开发语言·windows·c#·.net
绿豆人4 小时前
进入内核-中断开启
开发语言·c#
步步为营DotNet4 小时前
.NET 11 中 C# 14 新特性在云原生微服务安全与性能优化的深度探索
云原生·c#·.net
工程师0075 小时前
C# foreach 为什么不能增删、迭代器底层原理、版本号机制、以及所有能遍历中增删的方案
c#·foreach·迭代器底层