ajax可不可以对后台用PUT方式传送文件,后台通过restful的PUT方法接收?
@RequestMapping(value = "User", method = RequestMethod.PUT)
@ResponseBody
public String update(HttpServletRequest request, HttpServletResponse response, MultipartFile file) throws UnsupportedEncodingException {
        System.out.println(file.getName());
        return null;
}
//传送文件时总会报错,不知道AJAX要怎么写,希望建议详细点
0

2个回答

 var fileObj = document.getElementById(inputId).files[i];
// 获取要传输的文件------假设只有一个文件
var file = document.getElementById(inputId).files[0];

$.ajax({
    url: URL,
    type: "POST",  
    async: false,  
    cache: false, 
    processData: false,// 告诉jQuery不要去处理发送的数据
    contentType: false,// 告诉jQuery不要去设置Content-Type请求头
    data: file,
    success: function(data){
        alert(data);
    },
    error: function(err) {
        alert(err);
    }
});

格式大概是这样的,修改修改就行了。主要传文件注意设置contentType对就行了。

0
yu9851910
yu9851910 其实我需要的是PUT方式提交,现在是用POST提交然后根据状态字符去判断是上传还是下载,PUT提交的始终没有实现
10 个月之前 回复

把文件转为base64位字符串,就可以传字符,后台接收字符串,转起来很简单

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
解决form没有put请求的方法和后台用pojo对象接收json数据的方法
一、html的form是不支持put和delete的请求的,所以需要通过js的ajax请求完成。 前台html页面如下所示: <div id="dlg" class="easyui-dialog" style="width:400px" data-options="closed:true,modal:true,border:'thin',buttons:'#dlg-buttons'"&g...
解决AJAX发送PUT和DELETE请求,后台无法接收到参数
1、配置请求拦截器,在web.xml加入如下代码<!--解决ajax无法进行PUT、DELETE请求无法传递参数--> <filter> <filter-name>HiddenHttpMethodFilter</filter-name> <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</fil
rest框架提交put请求
form只能提交get和post请求,如何在form上边提交put请求?? 就在ac
关于springboot的RestFul的PUT请求,前台参数接收问题
迄今为止,你上网查,仍然会有人告诉你spring对Rest的PUT请求不支持,让你又写XML过滤,又重写啥接口的,为此,我特意重新尝试下: 结果,卧曹,确实像百度说的一样,不特么支持。那么是不是就完蛋了呢??NO,NO,NO,作为开发,就是要解决一切的不可能,使 之成为可能。 今天我要说的是一个注解,@RequsetBody........... 好多人说,要加什么consumes参数去指
记录一下使用springMVC时,put请求提交的信息后台接收不到
$.ajax({ url:&quot;${APP_PATH}/empError/&quot;+1, type:&quot;PUT&quot;, data:$(&quot;#empUpdateModal form&quot;).serialize(), success:function(result){ alert(result.msg); } }); 这是前台的ajax请求 ...
spring mvc RestFul风格PUT方法修改上传文件
使用spring mvc 过程中遇到了要使用put方法上传文件的操作. 自定义文件上传解析器,添加put支持 public class ExtendedMultipartResolver extends CommonsMultipartResolver { @Override public boolean isMultipart(HttpServletRequest request) {
解决Ajax中Restful风格PUT和DELETE请求传递参数无效
问题:在Ajax中,采用Restful风格PUT和DELETE请求传递参数无效,传递到后台的参数值为null原因:         * Tomcat *       1.将请求体中的数据,封装成一个map *       2.request.getParameter(&quot;id&quot;)就会从这个map中取值 *       3.SpringMvc封装POJO对象的时候, *            ...
Ajax中Put和Delete请求传递参数无效的解决方法(Restful风格)
开发环境:Tomcat9.0 在使用Ajax实现Restful的时候,有时候会出现无法Put、Delete请求参数无法传递到程序中的尴尬情况,此时我们可以有两种解决方案:1、使用地址重写的方法传递参数。2、配置web.xml项目环境。测试的程序为:@RequestMapping(value = "/member", method = RequestMethod.PUT, produces = "a
PHP Restful PUT方法的参数提交及接收
PHP Restful PUT方法的参数提交及接收 我们开发PHP的Restful接口都会知道有PUT方法更新资源,那到底如何使用PUT这个HTTP方法更新资源,避免使用上的误区,下面给出答案。 发送PUT请求 有时候我们发现接收PUT方法发来的的参数不是我们想要的类型,想要一个参数数组,却被接收成一串字符串,这种问题其实是我们把Content-Type的类型搞错了,我们发送的是applic...
Ajax之RESTful风格的PUT请求
之前一直用ajax的$post方法请求api接口,那么遇到项目RESTful改造,那么应该怎么破呢? 莫慌,且用以下方法即可。 $.ajax({ url :&quot;${basePath}queue/call/&quot;+checkWindow+&quot;/&quot;+checkNumber+&quot;/1&quot;, // 处理的请求路径 type : &quot;...
【总结】解决MVC无法处理Restful风格PUT/DELETE方法参数接收的问题
针对三种常用Content_Type :1.application/x-www-form-urlencoded  表单被编码为键值对。标准的编码格式 GET方式提交表单的默认编码 POST提交时 比如 报文原文为 key1=value1 提交后会进行编码 key1:value1 这种形式 拼接到报文Body中 注:因为GET请求没有Body , 不管是form-urlencodedhi是form-...
Ajax中Put和Delete请求传递参数无效的解决方法(Restful风格
在使用Ajax实现Restful的时候,有时候会出现无法Put、Delete请求参数无法传递到程序中的尴尬情况,此时我们可以有两种解决方案:1、使用地址重写的方法传递参数。2、配置web.xml项目环境。 测试的程序为: @RequestMapping(value = "/member", method = RequestMethod.PUT, produces = "applicat
ajax使用serialize()方法后,数据无法封装并获取(PUT提交方式!)
跟着视频学习时候,用到了serialize()方法封装一组form中的数据,然后使用PUT方式提交,但是却无法获取到其中的信息,而且信息台还报错说SQL语句错误,如图 如图,用PUT提交数据后,在Controller.java中写了一个输出语句,结果发现获取到的数据居然都是null!然而,我之前用POST的方式都没问题,能够很好的获取封装好的数据然后提取出来。我根据信息台去看,说SQL语句
SpringMVC处理PUT请求获取不到参数——解决方案
添加一个过滤器:<filter> <filter-name>HttpPutFormContentFilter</filter-name> <filter-class>org.springframework.web.filter.HttpPutFormContentFilter</filter-class> </filter> <filter-mappi
laravel put提交表单
laravel想使用PUT提交表单,需要在表单中添加: &lt;input type="hidden" name="_method" value="put"&gt; 表单的method为POST方式 注:method=PUT跳转到GET路由而不是POST路由 ...
ajax发送PUT/DELETE(restful风格)请求问题及解决办法
Tomcat把请求的数据(实体信息中的数据)封装成一个Map(键值对形式),request.getParameter(“”)就从map中取值,而SpringMVC会把每个属性的值调用getParameter方法封装,而Tomcat看到是PUT/DELETE请求则不会封装请求数据到map,只有POST形式的请求才会封装到请求体。 解决方法1: 配置HiddenHttpMethodFilter,这个类...
springMVC使用PUT、DELETE方法传递参数解决方案
新项目使用restful风格的编程方式,例student get方法 /student    对应list查询 /student/{id} 对应id查询 post方法 /student  对应新增 put方法 /student  对应编辑 delete方法 /student  对应批量删除 /student/{id}  对应指定id删除   结果发现使用put与delete...
解决ajax的delete、put方法接受不到参数的问题
用ajax发送delete、put请求,但是delete/put请求无法传参数怎么办呢? 通过修改配置文件来实现Put和Delete请求的参数传递  在web.xml中添加如下代码:         HttpMethodFilter         org.springframework.web.filter.HttpPutFormContent
ajax的各种请求方式(get,post,put)
&amp;lt;!DOCTYPE html&amp;gt; &amp;lt;html&amp;gt; &amp;lt;head&amp;gt; &amp;lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot;&amp;gt; &amp;lt;title&amp;gt;List与数组直接绑定自定义数据类型与AJAX&amp;lt;/title&amp;gt; &amp;lt;/head&
jquery的ajax(put网页前端向服务器发送数据,服务器进行数据持久化等操作)
实例1: _form.html.erb中: ########这里input框里是显示以前房间的position, 并且可以改, 这里的class是用来jquery监听的, value是用来input框中显示默认值的, data-id是用来传递subject.id的, data-id这个是自定义属性是用来ajax时用到url传递一个subject.id的 " data-id=''> styl
解决:Rest类无法取得HTTP PUT请求发送的参数
rest类通过String id = request.getParameter("id");可以取得url传递过来的id参数值 但是,Put中的参数无法取得,如下 以下内容来自:http://dbscx.iteye.com/blog/828167 PUT和POST的定义:  使用PUT和POST插入新资源方面所起的作用的争议。HTTP1.1协议中都有新增和更新的定义
springMvc实现restful解决put和delete表单提交问题
HttpMethodFilter org.springframework.web.filter.HttpPutFormContentFilter HttpMethodFilter /* HiddenHttpMethodFilter org.springframework.web.filter.HiddenHttpMethodFilter Hidden
ajax 发送 put 请求
ajax是不能直接发送put请求的。 原因是:     在tomcat中,是将请求的数据,封装成一个map的,     在获取数据时,调用 request.getParameter(&quot;name&quot;); 时,就是从这个map中获取查找数据的,     在springmvc封装POJO对象时,会把POJO中每个属性的值,使用 request.getParameter(&quot;name&quot;);拿到。 而...
使用PUT方法上传文件
HTTP中提供了这么多方法,放着不用简直浪费!流行使用POST上传文件是因为当年的Web没有太多API的支持,只能用表单来上传文件,所以后来大家也习惯了使用POST。但现在既然支持了这么多API,用PUT方法上传文件也是可以实现的,而且语义上更合适。 PUT方法的特点是传输的实体部分是一个无结构的二进制数据,而POST方法则倾向于结构化的数据。上传文件这个行为本身就是无结构数据的传输(文件是
使用put方法接收客户端提交的put请求
/** * Created by os on 17-6-18. */var express = require('express') var fs = require('fs') var app = express()var mysql = require('mysql') var pool = mysql.createPool({ host :'localhost', port
Spring boot PUT、DELETE 请求无法定位方法及获取参数解决方案
在使用spring boot过程中带着之前使用spring mvc的惯性思维操作,虽然spring boot已经整合了HiddenHttpMethodFilter , 结果却出现了 PUT方法不支持及无法获取到参数等问题;       解决方案:   1、将”_method”并到url上,这样spring 才能通过request.getParameter(this.methodP
SpringMVC控制器接收不了PUT提交的参数的解决方案
这次改造了下框架,把控制器的API全部REST化,不做不知道,SpringMVC的REST有各种坑让你去跳,顺利绕过它们花了我不少时间,这次来提下SpringMVC的PUT提交参数为null的情况。 照常先贴出我的控制器代码,没什么特别的,就是打印出接受到的前台参数值: @RequestMapping(value = "/{id}", method = RequestMetho
使用put请求时不能获得前端的数据问题的解决
/** * 如果直接发送ajax=PUT形式的请求 * 封装的数据 * Employee  * [empId=1014, empName=null, gender=null, email=null, dId=null] *  * 问题: * 请求体中有数据; * 但是Employee对象封装不上; * update tbl_emp  where emp_id = 1014; *  * 原因: *...
C#中PUT和POST上传文件
HttpClient中上传文件 上一篇主要是提到了HttpClient帮助类,这次针对于上传文件进行补充,仅做记录 public static string HttpUploadFile(string url, string path) { // 设置参数 HttpWebRequest request = WebRequest....
Spring的restful风格之PUT请求
最近在网上查阅如何使用form表单以put请求的方式提交参数,查阅到一篇这样的博客。 form表单put方式提交处理 (作者:ktios) 我按照链接里博客的方法配置了以后,用tomcat部署访问时,抛出了405的请求方式不正确的异常。我尝试了将后台接收请求方式放宽的方法,仍然还是接收不到表单提交的参数。 最后,我将web.xml中配置的 filter> fi
WebApi 4大方法get、post、put、delete返回协议
GET - 向特定的资源发出请求。注意:GET方法不应当被用于产生"副作用"的操作中,例如在web app.中。其中一个原因是GET可能会被网络蜘蛛等随意访问。 POST - 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。 PUT - 向指定资源位置上传其最新内容。 DELETE - 请
使用Spring boot开发RestFul 风格项目PUT/DELETE方法不起作用
在使用Spring boot 开发restful 风格的项目,put、delete方法不起作用,解决办法。 实体类Student @Data public class Student { private String id; private String name; private int age; private String sex; ...
spring mvc 坑之PUT方法接收不到请求参数
spring mvc老是接收不到前台传递来的参数,搞了半天才知道spring mvc对PUT方法支持不好,难受!在web.xml文件中加入下面的过滤器应该可以解决: &amp;lt;filter&amp;gt; &amp;lt;filter-name&amp;gt;HttpMethodFilter&amp;lt;/filter-name&amp;gt; &amp;lt;filter-class&amp;gt;org.springframew...
Spring无法获取到小程序put请求的参数
添加过滤器即可 &amp;lt;filter&amp;gt; &amp;lt;filter-name&amp;gt;HttpMethodFilter&amp;lt;/filter-name&amp;gt; &amp;lt;filter-class&amp;gt;org.springframework.web.filter.HttpPutFormContentFilter &amp;lt;/filter-class&amp;gt; &amp;lt;/filte...
ajax中发送delete请求,后台无法收到的解决方法
场景最近了解了restful风格的url的设计,所以在练手项目中想尝试一下,但是在尝试中遇到了标题所示的问题,后台接收的参数适中为null,真是气爆哦。困扰了我非常之久,后来总算找到了解决方法步骤1.首先,也是最重要的,就是在web.xml中增加一个过滤器&amp;lt;!--解决ajax无法进行PUT、DELETE请求无法传递参数--&amp;gt; &amp;lt;filter&amp;gt; &amp;lt;f...
(8)ajax发送put请求的两种方式
(1)第一种:post+HiddenHttpMethodFilter 配置HiddenHttpMethodFilter过滤器<filter> <filter-name>hiddenHttpMethodFilter</filter-name> <filter-class>org.springframework.web.filter.HiddenHttpMethodFi
HTTP的PATCH与PUT对比
最早的时候,我们只需要 GET 和 POST 方法,POST 方法的引入也只是为了消除 URL 过长,参数隐藏,上传文件的问题,完全和语义无关。接触到 RESTful 之后,我们开始思考 GET 和 POST 的不同语义,并且十分必要的去发掘出所有的 HTTP method,HTTP/1.1 所实现的 method,见 RFC 2616, 有这些:OPTIONS, GET, HEAD, POST,...
HTTP PUT请求时,表单数据无法传递
Put请求一般可用来修改服务器中的资源,但如果你需要提交给服务器一些表单数据,那么遗憾的告诉你,PUT请求不支持,最简单的方法就是改用POST请求,我也是今天在项目中才知道的,特此记下,共同学习。 具体请看: SRV.4.1.1 When Parameters Are Available The following are the conditions that must be met ...
SpringMVC接收Ajax通过PUT、POST、GET、DELETE传递的参数
一、问题描述     1.今天在进行SSM+RESTful整合的时候,发现通过AJAX发送的POST和GET请求能正常接收,但是无法通过PUT和DELETE传递参数,网上说在web.xml中加入一个监听器,但是这个只能解决PUT传递问题,没有办法解决DELETE问题     2.经过仔细研究之后,找到了一套解决办法,下面把解决办法分享给大家,如果遇到问题请留言~ 二、SpringMVC接收A...
restful-api的put方法和post方法区别
1.理解RESTful架构   RESTful架构是一个很抽象,理论性很强的设计。当然,以我的理解来看,设计模式里的23种设计模式的理论性也很强,要具备很强的面向对象设计能力和经验才能体会到。RESTful主要的意义在于物联网应用的设计更加开发,面向资源的操作。   2.详细描述RESTful   (1)资源(Resources):网络上的一个实体,或者说是网络上的具体信息。它可以是...
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java 后台 方法学习 python后台开发教程