文件上传的几种方式

2018-12-20  本文已影响24人  回不去的那些时光

方式一:form表单文件上传

<form action="http://localhost:8081/images" method="post" enctype="multipart/form-data">
    <input type="file" name="file">
    <input type="submit" value="Upload" />
 </form>

方式二:借助form的ajax文件上传

<form id="uploadForm" enctype="multipart/form-data">
    <input type="file" name="file" id="file">
    <input type="button" value="Upload" id="upload"/>
</form>

<script src="jquery.min.js"></script>
<script>
    $(function () {
        $('#upload').click(function() {
            $.ajax({
                url: "http://localhost:8081/images",
                type: "post",
                data: new FormData($('#uploadForm')[0]),
                cache: false,
                processData:false,
                contentType:false,
                success: function(res) {
                    console.log(res)
                },
                error: function(err) {
                    console.log(err)    
                }
            })
        })
    })
</script>

方式三:不借助form的ajax文件上传

<input type="file" name="file" id="file">
<input type="button" value="Upload" id="upload"/>

<script src="jquery.min.js"></script>
<script>
  $(function () {
      $('#upload').click(function() {
            let file = $("#file")[0].files[0];
            //创建formdata对象
            let formData = new FormData();
            formData.append("file",file);
            $.ajax({
                url: "http://localhost:8081/images",
                type: "post",
                data: formData,
                cache: false,
                processData:false,
                contentType:false,
                // headers: { 'Content-Type': 'multipart/form-data' },
                success: function(res) {
                    console.log(res)
                },
                error: function(err) {
                    console.log(err)    
                }
            })
        })
    })
</script>

文章后两种方式借鉴了 https://my.oschina.net/jgy/blog/743670

上一篇下一篇

猜你喜欢

热点阅读