JS实现页面间图片传递

1.问题场景

工作中用到的页面传递对象先将js对象转换为JSON字符串,存入共通页面的input框的value中,下画面获取共通画面input框的value,把value(JSON字符串)转换为js对象,完成页面间值的传输

遇到的问题:无法通过JSON转换的方式,将从前画面input框获取的File对象传递到下画面。

解决:前画面先将File对象转换为DataURL,通过JSON将DataURL转换为JSON字符串,以input框的value形式传递到下画面(可以采用你自己页面间传递字符串的方式),下画面将JSON字符串转换为DataURL,再把DataURL转换成File对象,这时你已经拿到你在上画面传递过来的完整的图片file对象了,如果你需要上传到后台的话,可以使用FormData上传File对象实现文件上传
需要用的函数如下 具体流程略有差异
(如果你的项目可以在页面间传递字符串,你也可以使用这种方式进行页面间图片file对象的传递)

2.DataURL和File对象转换

(如果你有自己的页面间传递字符串的方式,你只需要关注这两个方法)
将 File对象 转换为 DataURL

var r = new FileReader();  //  
r.readAsDataURL(file);
r.onload = function(){  
    console.log(r.result);//图片的base64  
}  
//r.result就是你要传给下个画面的字符串

将 DataURL 转换为 File对象

function
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值