JavaScript上传图片路径过长

我在网上看到一种用vue写的上传图片的代码

createImage(file){
        if(typeof FileReader==='undefined'){
          alert('您的浏览器不支持图片上传,请升级您的浏览器');
          return false;
        }
        var image = new Image();         
        var vm = this;
        var leng=file.length;
        for(var i=0;i<leng;i++){
          var reader = new FileReader();
          reader.readAsDataURL(file[i]); 
          reader.onload =function(e){
            vm.imageDataList.push(e.target.result);
            vm.imagesNum=vm.imageDataList.length;                                    
          };                 
        }

可是这种方法传到数据库的图片路径很大,超出了varchar的长度。我看网上说数据类型用text又不好。请问有没有其他上传图片的方式,代码短一点的。

阅读 3.8k
2 个回答

你这是把图片的base64编码存到数据库里面,当然大了;
还是把图片存成文件,数据库里面保存路径吧

嗯 楼上正解。base64 坑定太长了。你看数据库能改储存大小吗。
如果用原生就是 formData对象。你可以看看MDN上面,很容易已使用。
后台的代码可能要做下修改

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题