vant 上传附件后回显_Vue + VantUI Uploader 上传组件, 实现上传功能, 但 手机实时上传照片只回显, 上传不上去 。...

电脑浏览器 没有任何问题

手机上操作, 就会出现图片上传不上去, 也没有报错, 怀疑是 没有触发上传事件 , 但又 不知道如何修改, 求大神给个 建议。。

来个Demo 那就好极了

这是前端 页面

这是 js 部分 往后端传 , 切显示图片的

// 图片上传

onRead(file) {

console.log(file);

console.log('红红火火恍恍惚惚',file.file);

this.headerImg = file.content;

this.$axios.post("http://192.168.1.241:3721/api/qrresume/savePicture", {

file: file,filename: this.resume.applyerName

}).then(resp => {

if (resp.status == 200) {

if (resp.data.status == 200) {

this.resume.imagePath = resp.data.data;

} else {

this.$Message.error("图片上传失败,请重新上传!");

}

}

})

},

这是后端路路由

//保存图片

router.post('/savePicture', async (ctx) => {

let base64 = ctx.request.body.file.content;

let filename = ctx.request.body.filename;

let newFileName = Date.now() + "-" + filename + ".jpg";

var base64Data = base64.replace(/^data:image\/\w+;base64,/, "");

var dataBuffer = new Buffer(base64Data, 'base64');

try {

fs.writeFile(`public/upload/photos/${newFileName}/`, dataBuffer, function(err) {});

ctx.body = {

data: newFileName

}

} catch (error) {

throw error

}

})

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
移动端Vue VantUploader组件可以很方便地实现上传、压缩和旋转图片功能。首先,我们需要在Vue项目中引入Vue Vant库,并在需要使用Uploader组件中注册该组件。 在页面中使用Uploader组件时,我们可以设置相关的属性来实现功能需求。首先是上传图片功能,可以通过设置`action`属性来指定图片上传的后端接口地址。上传成功后,可以通过监听`@success`事件来处理上传成功的逻辑,例如显示上传成功的提示信息或者将上传成功的图片URL保存到数据库等。 对于压缩图片的功能,我们可以使用组件提供的`beforeRead`方法来获取用户要上传的图片文件对象。然后,利用`HTMLCanvasElement`的`toBlob`方法对图片进行压缩,并将压缩后的图片对象传给Uploader组件进行上传。在压缩图片时,可以设置压缩的尺寸或者压缩的质量、压缩比等参数,以控制压缩后的图片大小适应实际需求。 要实现图片旋转的功能,我们可以利用`EXIF.js`库来读取图片的EXIF信息,获取图片的拍摄方向。然后,根据拍摄方向来确定图片需要旋转的角度,再借助`canvas`的`rotate`方法对图片进行旋转。旋转后的图片可以在`@success`事件触发后重新渲染到页面上,或者直接发送到后端进行保存。 总结来说,移动端Vue VantUploader组件通过设置相关属性和监听事件,配合压缩工具和EXIF库,可以非常方便地实现图片上传、压缩和旋转功能,满足移动端图片处理的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值