小程序上传图像失败

小程序端

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;
    }
}
相关推荐
未来之窗软件服务6 小时前
C# 截图源码支持自动保存-东方仙盟
c#·仙盟创梦ide·东方仙盟·电脑工具
扶风ff13 小时前
求职笔试资料太散?用练题簿在线刷题,按岗位整理练习清单
前端·学习·小程序
UIU11418 小时前
-7 / 2 在 C 里是 -3,在 Python 里是 -4,谁算错了?
c++·学习·c#
wflynn20 小时前
GitHub 今日推荐|REDox:64 位 token 表示结构化数据,内存占用降 70% 支持多格式互转
开源·c#·github
Ai-_Man20 小时前
请问豆包的智能体聊天记录该怎么弄
开发语言·前端·javascript·人工智能·小程序·ecmascript·电脑
驰骋工作流21 小时前
C#/.NET 开源BPM工作流引擎6大常用对比选型分析驰骋BPM驰骋低代码低代码工作流引擎
开源·c#·.net
en.en..21 小时前
C语言 fp与fd 区别详解
c#
Ai-_Man1 天前
您您这可以把Dola的多个会话比如说。左侧的多个会话一次性导出吗?不是单条会话里面的多次会对话。用AI导出鸭,答案是可以的
开发语言·前端·人工智能·小程序
淡海水1 天前
02-02-原理篇-分代GC
算法·unity·c#·游戏引擎·.net·gc
BD_Marathon1 天前
多轮对话聊天机器人
开发语言·机器人·c#