formData上传文件

需要将选中的xml传到后台,通过xslt转换为html

html:

  <form id="uploadForm" enctype="multipart/form-data">
   <input type="file" name="testFile" value="选择文件">
   <input type="button" value="添加" id="btn">
  </form>

js:

<script type="text/javascript">
    var formData = new FormData($( "#uploadForm" )[0]);
        $.ajax({
             url: url ,
             type: ‘POST‘,
             data: formData,
             async: false,
             cache: false,
             contentType: false,
             processData: false,
             success: function (data) {
          ....
             },
             error: function (returndata) {
                 alert("出错了");
             }
        });
  });
 </script>

  

这里要注意几点:

  • processData设置为false。因为data值是FormData对象,不需要对数据做处理。
  • <form>标签添加enctype="multipart/form-data"属性。
  • cache设置为false,上传文件不需要缓存。
  • contentType设置为false。因为是由<form>表单构造的FormData对象,且已经声明了属性enctype="multipart/form-data",所以这里设置为false。

上传后,服务器端代码需要使用从查询参数名为file获取文件输入流对象,因为<input>中声明的是name="file"

原文地址:https://www.cnblogs.com/suhaihong/p/8422629.html

时间: 2024-10-11 22:38:22

formData上传文件的相关文章

使用FormData上传文件、图片

关于FormData XMLHttpRequest Level 2添加了一个新的接口  ---- FormData 利用FormData对象,可以通过js用一些键值对来模拟一系列表单控件,可以使用XMLHttpRequest的 send( ) 方法来异步提交表单 与普通的ajax相比,使用FormData的最大优点就是可以异步上传二进制文件 FormData对象 FormData对象,可以把所有表单元素的name与value组成一个queryString,提交到后台. 在使用ajax提交时,使用

httpclient通过post multipart/form-data 上传文件

httpclient通过post multipart/form-data 上传文件 public static String httpClientUploadFile(String url, File file) { CloseableHttpClient httpClient = HttpClients.createDefault(); String result = ""; //每个post参数之间的分隔.随意设定,只要不会和其他的字符串重复即可. String boundary

c#+js 使用formdata上传文件

如果不是使用form表单submit的形式,我们可以手动通过formdata传值(针对文件上传等) 比如: <html> <head> <meta name="viewport" content="width=device-width" /> <link href="~/jquery-easyui-master/themes/default/easyui.css" rel="stylesheet

PHP中以multipart/form-data上传文件流

上传类 class UploadPart { protected static $url; protected static $delimiter; protected static $instance; public function __construct() { static::$url = 'http://files.note.so/v1/file_server'; static::$delimiter = uniqid(); } public function putPart($par

js通过formData上传文件,Spring后台处理

1.前端 var formData = new FormData(); formData.append('file', $("#file").val()); $.ajax({ url:'地址', type:'post', data:formData, async:false, processData:false, contentType:false, success:function (response) { alert(response.msg); } }) 2.controller

文件上传三:FormData上传

介绍三种上传方式: 文件上传一:伪刷新上传 文件上传二:FormData上传 文件上传三:base64编码上传 Flash的方式也玩过,不喜欢不拿来说了. 等待编辑...

Ajax使用formdata异步上传文件,报错the request was rejected because no multipart boundary was found

基于jQuery的Ajaxs使用FormData上传文件要注意两个参数的设定 processData设为false 把processData设为false,让jquery不要对formData做处理,如果processData不设置为false,jquery会把formData转换为字符串. contentType设为false http发送multipart/form-data请求报文示例 POST /api/feed/ HTTP/1.1 Accept-Encoding: gzip Conte

关于form表单上传文件的问题

最近在学习php,刚好学到利用表单上传文件这一知识.在学习的过程中,出现了这样几个问题,我是小白,还请高手指点. 大家都知道在上传文件时,我们要设置表单的MIME编码.默认情况,enctype的编码格:application/x-www-form-urlencoded,不能用于文件上传, 只有使用了multipart/form-data,才能完整的传递文件数据,进行下面的操作.但是我在接下来的操作中,遇到了这样的问题. <?php   if (isset($_POST['submit']) &

SpringMVC上传文件总结

如果是maven项目 需要在pom.xml文件里面引入下面两个jar包 <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version> </dependency> <dependency> <groupId>com