- <formid="uploadForm"action="http://localhost:8080/cfJAX_RS/rest/file/upload"method="post"enctype="multipart/form-data">
- h1>测试通过Rest接口上传文件</p>指定文件名:inputtype="text"name="filename"/>>上传文件:inputtype="file"name="file">关键字1:inputtype="text"name="keyword">关键字2:>关键字3:inputtype="submit"value="上传"/>
- form>
不过传统的form表单提交会导致
页面刷新,
但是在有些情况下,我们不希望页面被刷新,这种时候我们都是使用Ajax的方式进行请求的:
$.ajax({
- url:"http://localhost:8080/STS/rest/user",
- type:"POST",250)"> data:$('#postForm').serialize(),250)"> success:function(data){
- $('#serverResponse').html(data);
- },250)"> error: $('#serverResponse').html(data.status+":"+data.statusText+":"+data.responseText);
- }
- });
如上,通过
$(
'#postForm'
).serialize()
可以对form表单进行序列化,从而将form表单中的所有参数传递到服务端。
但是上述方式,只能传递一般的参数,
上传文件的文件流是无法被序列化并传递的。
不过如今主流浏览器都开始支持一个叫做FormData的对象,有了这个FormData,我们就可以轻松地使用Ajax方式进行文件
上传
了。