JS/Jquey 文件上传

Posted zero-zm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS/Jquey 文件上传相关的知识,希望对你有一定的参考价值。

1. 单文件上传

1. js

function postData()
    // 构参,参数需要photo: 上传的文件,service: 'App.Passion.UploadFile', token: 'sdfewdsdfe'
    // 如果参数只有photo,参数可简化为 new FormData($("#photo")[0].files[0]);key值file为input的name值;
    var formData = new FormData();
    formData.append("photo",$("#photo")[0].files[0]); // $("#photo")[0].files[0];获取上传的文件;单文件上传
    formData.append("service",'App.Passion.UploadFile');
    formData.append("token",token);
    // 请求
    $.ajax(
        url:'http://www.baidu.com/',
        type:'post',
        data: formData,
        contentType: false,
        processData: false,
        success:function(res)
            console.log(res.data);
            if(res.data["code"]=="succ")
                alert('成功');
            else if(res.data["code"]=="err")
                alert('失败');
            else
                console.log(res);
            
        
    )

2.html

<input type="file" title="单文件上传" name="photo" id="photo" value="" placeholder="免冠照片">

2. 多文件上传

1. js

$('#photoForm input').change(function() 
    // 构参; 参数值只需要key为“myfiles”,value为所选文件的对象;
    var photoForm = $('#photoForm')[0],
    photoFormData = new FormData(photoForm); // 获取文件列表 $('#photoInput')[0].files;
    // 请求
   $('.loading').show();
    $.ajax(
        type: 'POST',
        url: "/cert/filesUpload",
        data: photoFormData,
        // 告诉jQuery不要去处理发送的数据
        processData : false,
        // 告诉jQuery不要去设置Content-Type请求头
        contentType : false,
        complete:function()
             $('.loading').hide();
             $("#photoForm input").val('');
        ,
        success:function(d)
            // 上传成功后操作。
        
     );
   );

2. html

<form id="photoForm">
     <input id="photoInput" type="file" title="多文件上传" name="myfiles" multiple="multiple">照片导入
</form>

以上是关于JS/Jquey 文件上传的主要内容,如果未能解决你的问题,请参考以下文章

文件上传漏洞原理是啥?

什么是文件上传漏洞

vue上传文件到后台

JSP-超大文件上传-如何上传文件-大文件上传

php文件上传漏洞代码只允许上传图片

上传文件失败,具体原因:上传的文件超过大小限制,请上传小于 1024k的文件?