解决本地文件上传时fakepath的问题

首先应该看一下fakepath问题具体指的是什么:

在写页面时,需要选择本地的图片上传给服务器,同时将选择的图片预览在页面中,代码是这样写的:

$("input[type='file']").on('change', function () {
    $('.content').attr('src',$(this).val());
    alert($(this).val());
});

我是这样选择图片的:
这里写图片描述
但是会发现实际添加在input框里的值(图片的src值是)这样的:

这里写图片描述

这里的fakepath就是现代浏览器为了隐藏了文件实际路径而生成的字符串。接下来就是寻找解决方法找出图片原路径的方法,接下来的代码是网上找到的解决方法:

$("input[type='file']").on('change', function () {
    var oFReader = new FileReader();
    var file = document.getElementById('input-file').files[0];
    oFReader.readAsDataURL(file);
    oFReader.onloadend = function(oFRevent){
        var src = oFRevent.target.result;
        $('.content').attr('src',src);
        alert(src);
    }
});

这里写图片描述

这样这个问题就解决了。

更多关于解决这个问题的一个很好的方案请看这位大神的博客

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 20
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值