ajaxfileupload实现文件异步上传

简介: 首先需要下载js文件,提供一个CSDN的下载地址http://download.csdn.

首先需要下载js文件,提供一个CSDN的下载地址

http://download.csdn.net/detail/aa5000ac/5945203

其依赖于jquery,需要自行下载jquery.js文件

页面布局:

<html lang="zh-CN">
<head>
    <script src="/assets/js/vendor/jquery.js"></script>
    <script src="/assets/js/vendor/ajaxfileupload.js"></script>
</head>
<body>
    <form id="form2" action="/system/upload" enctype="multipart/form-data" method="post">
        <input type="file" id="file" name="file">
    </form>
</body>
</html>

JS代码如下:

<script>
    function ajaxFileUpload() {
        $.ajaxFileUpload({
            url:'/system/upload',
            secureuri:false,
            fileElementId:'file', //注意1
            dataType: 'JSON',//注意2
            success: function (data, status) {
                alert(data)
            },
            error: function (data, status, e) {
            }
        });
    }

    $(function(){
        $("#file").on('change',function(){
            ajaxFileUpload();
        });
    })
</script>
其中需要注意的两点:

注意1 :file指向文件上传的input 即

<input type="file" id="file" name="file">
其中name为必须,否则会出现后台接收不到文件的情况

注意2:dataType的值必须为大写,否则在chrome下回出现handlerError的异常,但是小写的"text"的例外。


在chrome下,ajax返回的JSON数据会出现多余的 “<pre style="word-wrap: break-word; white-space: pre-wrap;">” 现象,下面给出一个简易的处理方式

success: function (data, status) {
                var index1 = data.indexOf("{");
                var index2 = data.lastIndexOf("}");
                data = data.substring(inde1,inde2+1);
            },




目录
相关文章
|
前端开发 JavaScript
使用ajaxFileUpload实现文件异步上传
使用ajaxFileUpload实现文件异步上传
281 0
|
JavaScript 前端开发
js之上传文件多图片预览
多图片上传预览功能也是现在非常常用的 下面是html代码: 测试页面 //下面用于多图片上传预览功能 function setImagePreviews(avalue) { var docObj = document.
1201 0
|
Web App开发 JavaScript
|
JavaScript 前端开发 数据格式
关于js异步上传文件
好久没登录博客园了,今天来一发分享。   最近项目里有个需求,上传文件(好吧,这种需求很常见,这也不是第一次遇到了)。当时第一想法就是直接用form表单提交(原谅我以前就是这么干的),不过表单里不仅有文件还有别的信息需要交互,跟后端商量后决定文件单独上传,获取到服务器端返回的文件地址在和表单一起提交。
1303 0
|
JavaScript 前端开发 存储
Jquery上传插件Uploadify无刷新上传文件
Uploadify v3.2.1  上传图片并预览 前端JSP: &lt;script type="text/javascript"&gt;                             $(function() {                 $("#upload_org_code").uploadify({                     'height'    
2199 0