原生小程序上传图片到node(express)后端保存图片

原生小程序上传图片到node(express)后端保存图片_第1张图片

因为之前的方案小程序不支持datafrom所以之前的上传方式改变了,也不能进行请求发送,只能用到 wx.uploadFile提供的方法

我们直接上小程序代码

//选择图片
	wx.chooseMessageFile({
  count: 1,
  type: 'file',
  success(res) {
    wx.uploadFile({
      url: url,//你的node服务端口
	  filePath:res.tempFiles[0].path,//这里接受上传文件的path
      header: {
        "content-type": "multipart/form-data"//注意
      },
      success(res) {console.log(res);},
	fail:function(err){console.log(err);}
    })
  }
});

node代码

var express = require('express');
var app = express();
var multer = require('multer'); //multer - node.js 中间件,用于处理 enctype="multipart/form-data"(设置表单的MIME编码)的表单数据。
var bodyParser = require('body-parser'); // 这个模块是获取post请求传过来的数据。
app.use(bodyParser.urlencoded({ extended: false })); // 判断请求体是不是json,不是的话把请求体转化为对象
var formidable = require('formidable');
var fs = require('fs');
app.use(multer({ dest: './public/' }).any())// 通过配置multer的dest属性, 将文件储存在项目下的tmp文件中
app.use('/statics', express.static('statics'));
app.post('/upload', function (req, res) {
    let old = req.files[0].path //获取path:
    fs.renameSync(old, './public/' + req.files[0].path + path.parse(req.files[0].originalname).ext)
});
app.listen(3000)

结果
原生小程序上传图片到node(express)后端保存图片_第2张图片

你可能感兴趣的:(express,ui框架,Node前端库框架工具等,微信小程序,uni-app,后端,小程序)