1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- // const { request } = require('../utils/util.js')
- import strings from '../utils/strings.js';
- module.exports = {
- // 上传图片到服务器
- uploadImage: (filePath, formData = {}) => {
- var Authorization = "";
- try {
- var value = wx.getStorageSync('token') || "";
- if (!strings.isEmpty(value)) {
- const resData = JSON.parse(value);
- Authorization = resData.token;
- }
- } catch (e) {
- Authorization = "";
- }
- console.log("Authorization:", Authorization)
- return new Promise((resolve, reject) => {
- // 拼接地址
- var baseUrl = getApp().globalData.baseUrl;
- let url = '/mini/wx/image/getUrl';
- let fullurl = `${baseUrl}${url}`;
- console.log("上传图片参数:", fullurl, filePath)
- wx.uploadFile({
- url: fullurl, // 替换为你的服务器地址
- filePath: filePath,
- name: 'file', // 文件对应的 key,后端需要根据这个 key 获取文件
- formData: formData, // 其他需要上传的表单数据,
- header: Object.assign({
- "content-type": "multipart/form-data",
- "appid": "wx08f94a3e90881910",
- "Authorization": Authorization
- },),
- responseType: 'arraybuffer',
- success: (res) => {
- console.log("上传图片返回:", res);
- try {
- // 检查响应头中的 Content-Type
- const contentType = res.header['Content-Type'] || res.header['content-type'];
- console.log("上传图片返回2:", contentType);
- if (contentType && contentType.includes('image/jpeg')) {
- // 服务器返回的是图片数据
- console.log("上传图片返回3:", res.data);
- resolve(dataUrl);
- } else {
- // 服务器返回的不是图片数据
- const data = JSON.parse(res.data ?? "{}");
- resolve(data);
- }
- } catch (e) {
- reject(new Error('解析服务器响应失败', e));
- }
- },
- fail: (err) => {
- console.log("上传图片返回2:", err);
- reject(new Error('上传失败: ' + err.errMsg));
- }
- });
- });
- }
- }
|