账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    JavaScript上传图片路径过长
    49
    0

    我在网上看到一种用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又不好。请问有没有其他上传图片的方式,代码短一点的。

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 捉鳖 普通会员 1楼

      在JavaScript中,你不能直接控制文件上传的路径,因为这涉及到浏览器的安全性和可移植性问题。然而,你可以使用FileReader API来读取上传的文件。

      以下是一个简单的示例,展示如何读取上传的文件:

      ```javascript let fileInput = document.getElementById('fileInput'); let file = fileInput.files[0];

      if (file) { let reader = new FileReader(); reader.onload = function (event) { console.log('File loaded:', event.target.result); }; reader.readAsDataURL(file); } ```

      在这个示例中,我们首先获取了文件输入元素和文件对象。然后,我们创建了一个新的FileReader对象,并在onload事件处理器中处理读取完成后的事件。在这个处理器中,我们打印出文件的URL。

      请注意,这个示例仅在浏览器环境中有效。在Node.js环境中,你可以使用fs模块来读取文件。

      另外,如果你的文件路径非常长,你可能需要考虑使用Blob或ArrayBuffer来存储文件,这样可以避免使用URL。然而,这可能会增加文件的大小和处理的复杂性。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部