javascript - JS 文件上传问题

查看:144
本文介绍了javascript - JS 文件上传问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

问题:
1、图片可以转成base64上传,为什么Excel,pdf等不能转base64?
2、通过XMLHttpRequest上传文件,文件放入FormData中,但怎么给文件绑定标记,比如说,怎么知道这个文件是我当前用户的?
3、大家有没有好的js文件上传解决方案?

解决方案

  1. 在现代浏览器下,可使用 html5 相关API实现。我暂时想到这几个 Blob FileReader btoa 具体的就需要你去查文档了

  2. FormData可以用append添加额外的字段。 这里你需要放开思路,一个字段最终代表着传递到后台的一个参数,这个参数其实是很抽象的一个概念,具体取决与你前台跟后台的约定。
    举个例子,我可以在最后要发送请求的时候构造一个额外对象(它的字段取值要跟后台商量),添加到FormData中,发送到服务端。

     var meta = {
            name:"",
            time:"",
            data:[]
        }
    formData.append("meta", JSON.stringify(meta));

服务端最后再将这个字段反序列化成对象,取得里面的值。

最后,js文件上传是HTML5后提供的功能所以有兼容性的问题,说白了也就是那几个新增API的使用,去 MDN上把相关文档、demo 看一下就差不多了

这篇关于javascript - JS 文件上传问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆