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

在这里插入图片描述

因为之前的方案小程序不支持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)

结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值