基于jQuery的ajax文件上传

转载于https://www.cnblogs.com/12345huangchun/p/10243881.html

文件上传
  在此处只列出本人可以理解的:
  
  1,请求头contentType:指的请求体的打包方式,总共有三种类型
  
  1.1 application/x-www-form-urlencoded

这是post请求方式最常见的打包方式,如果不进行设置,都会默认这种打包方式。浏览器的原生form表单,如果不设置enctype属性,就默认这种方式打包数据。

user=alex&pwd=123 这就是这种方式打包后的数据结构
  1.2 multipart/from-data

基于form表单上传文件,就必须让form表单的enctype等于multipart/form-data

基于ajax上传文件时,我们就要用到Formdata类

$('.submit').click(function () {
     var formdata=new FormData();
     formdata.append('file',$('.file')[0].files[0]);     #插入上传文件的内容
     $.ajax({
         url:'/file/',
         type:'post',
         contentType:false,       #这一句和下一句是必须加上的
         processData:false,
         data:formdata,
         success:function (data) {
             $('.c1').html(data)
         }
     })
 })

1.3 application/json

在用ajax请求时,可以把contentType改成json,但此时的数据类型就必须json数据类型

如果不用Json类型打包的话,ajax也会默认urlencoded模式打包,数据书写格式为:

data:{user:'hh',pwd:123}

但当设置contentType=‘json’,此时数据打包方式就变了,数据必须是json格式,所以现在该如下面这样写

data:JSON.strinigfy({user:'hh',pwd:123})

2,基于form表单的文件上传
  
  2.1 HTML文件

<form action="" method="post" enctype="multipart/form-data">
    {% csrf_token %}
    <input type="file" name="file">
    <input type="submit">
</form>

3,基于ajax的文件上传
  
  3.1 HTML文件

 <input type="file" class="file">
 <input type="button" class="submit" value="submit">
 <p class="c1"></p>
 <script>
     $('.submit').click(function () {
         var formdata=new FormData();
         formdata.append('file',$('.file')[0].files[0]);
         $.ajax({
             url:'/file/',
             type:'post',
             contentType:false,
             processData:false,
             data:formdata,
             success:function (data) {
                 $('.c1').html(data)
             }
         })
     })
 </script>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: jQuery文件上传插件是一个基于jQuery库开发的插件,用于实现网页中文件上传功能的扩展。它可以简化文件上传的操作流程,提供更友好的用户界面和更多的上传选项。 首先,jQuery文件上传插件具有良好的兼容性,可以在各种主流浏览器中正常运行,无须考虑兼容性问题。它使用了AJAX技术,可以在不刷新网页的情况下实现异步上传功能,用户可以同时上传多个文件,提高上传效率。 其次,jQuery文件上传插件支持文件的预览和限制。用户在选择文件时,插件可以提供一些文件过滤选项,例如文件类型、文件大小等,帮助用户筛选有效文件。并且,一些插件还可以提供文件预览功能,用户可以在选择文件前预览文件内容,确保上传的文件符合要求。 另外,jQuery文件上传插件还可以提供上传进度条和上传成功提示。当用户选择文件并点击上传按钮后,插件会显示一个上传进度条,实时展示文件上传进度。一旦文件上传完成,插件会弹出一个上传成功的提示框,告知用户文件上传已成功。 最后,jQuery文件上传插件还支持文件上传的自定义配置。用户可以根据自己的需求进行插件的配置,例如上传的文件路径、最大文件数、上传按钮的样式等。通过简单的配置,可以满足各种不同场景下的文件上传需求。 总结起来,jQuery文件上传插件为网页提供了方便、快捷、美观的文件上传功能,使用户能够轻松地上传文件,并提供了丰富的扩展选项来满足不同的上传需求。 ### 回答2: jquery文件上传插件是一种基于jquery框架开发的工具,旨在简化文件上传的流程和提供更好的用户体验。它提供了一组操作文件上传的方法和事件,可以轻松地实现文件的选择、上传以及进度跟踪等功能。 使用jquery文件上传插件,只需引入相关的js和css文件,并通过一个简单的调用即可完成文件上传的操作。它可以支持多种文件格式的上传,包括图片、文档、音频、视频等。同时,它还支持多文件同时上传,大大提高了文件上传的效率。 该插件还提供了丰富的配置选项,可以根据实际需求来设置上传的路径、文件大小限制、文件类型限制等。同时,它也支持自定义上传按钮和进度条样式,使得整个上传过程更加美观。 另外,该插件还支持文件上传过程中的各种事件,可以根据需要对上传的文件进行实时处理,比如压缩图片、生成缩略图等。同时,它还可以实时更新文件上传的进度,让用户清楚地知道文件上传的状态。 总的来说,jquery文件上传插件是一个非常实用和方便的工具,可以简化开发者的文件上传工作,提供更好的用户体验。无论是在个人网站还是企业应用中,都可以使用该插件来实现高效的文件上传功能。 ### 回答3: jQuery文件上传插件是一种可以用于在网页中实现文件上传功能的工具。它通过使用jQuery库提供的方法和功能,简化了文件上传的开发过程,使得开发者无需自己编写复杂的上传逻辑和样式,并且可以在兼容不同浏览器的同时提供更好的用户体验。 使用jQuery文件上传插件,我们可以实现以下功能: 1. 显示文件选择界面:插件会提供一个按钮或者区域供用户选择需要上传的文件。用户可以点击该按钮或者拖拽文件到指定区域,从而触发选择文件的操作。 2. 上传文件:一旦用户选择了文件,插件会自动将文件上传到指定的服务器。可以通过配置插件的参数,来设置文件上传的路径和格式要求。 3. 显示上传进度:在文件上传过程中,插件会动态显示文件上传的进度条或者百分比,让用户知道上传进度和剩余时间。 4. 处理上传结果:上传完成后,插件会将上传结果返回给开发者,开发者可以根据返回的结果做进一步的处理,比如生成文件链接、保存文件信息等。 5. 支持多文件上传:通过设置插件的参数,可以让用户一次选择多个文件进行上传,提高上传效率。 总之,jQuery文件上传插件简化了文件上传过程的开发,提供了方便的用户界面和交互方式,提高了开发效率和用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值