Ajax请求将文件从jsp发送到servlet
Ajax request to send file from jsp to servlet
以下是使用struts框架完成的
Jsp
<html:form action="/uploadDrawing" method="post" enctype="multipart/form-data">
<input type="file" name="attachfile" class="regi_textbox"/>
<input type="submit" name="button" class="update_but" value="Upload File" />
</html:form>
表单
private FormFile attachfile;
public FormFile getAttachfile() {
return attachfile;
}
public void setAttachfile(FormFile attachfile) {
this.attachfile = attachfile;
}
行动类别
FormFile attachfile = uploadDrawingForm.getAttachfile();
这对我来说很好,但我需要使用ajax请求(jsp-servlet(来完成这项工作,下面是我尝试的,但没有成功---
Jsp
<script>
function dynamicUpload()
{
alert("function played");
var fd = new FormData($("attachfileform"));
fd.append( 'file', input.files[0] );
alert(fd);
$.ajax({
url: 'UploadDrawingServlet',
data: fd,
processData: false,
contentType: false,
type: 'POST',
success: function(data){
alert(data);
}
});
}
</script>
<form enctype="multipart/form-data" method="post" action="" id="attachfileform" name="attachfileform" >
<input type="file" name="attachfile" class="regi_textbox"/>
<input type="button" class="update_but" value="Upload File" onclick="dynamicUpload()"/>
</form>
Servlet
public class UploadDrawingServlet extends HttpServlet{
private static final long serialVersionUID = 1L;
public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String file = request.getParameter("data");
}
}
对于web.xml中的映射,我提供了
<servlet>
<servlet-name>UploadDrawingServlet</servlet-name>
<servlet-class>UploadDrawingServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UploadDrawingServlet</servlet-name>
<url-pattern>/UploadDrawingServlet</url-pattern>
</servlet-mapping>
在servlet类中,它的接收为--
public class UploadDrawingServlet extends HttpServlet{
private static final long serialVersionUID = 1L;
public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("Here in servlet class");
String file = request.getParameter("data");
}
}
有人能告诉我如何使用ajax请求实现以下操作吗。或者如果这种类型的请求是不可能的。谢谢////
function dynamicUpload(){
var formElement = $("[name='attachfileform']")[0];
var fd = new FormData(formElement);
var fileInput = $("[name='attachfile']")[0];
fd.append('file', fileInput.files[0] );
console.log(fd);
$.ajax({
url: 'UploadDrawingServlet',
data: fd,
processData: false,
contentType: false,
type: 'POST',
success: function(data){
console.log(data);
}
});
}
请参阅http://jsfiddle.net/ajk7J/
相关文章:
- servlet中的请求对象,而不是从jsp接收参数值
- 将jsp重定向到servlet,然后重定向到下一页
- Servlet未将参数发送到.jsp文件
- 通过 href 将值从 jsp 页传递到 servlet
- 如何将数据传递给 jsp 并从 servlet 在新窗口中打开它
- 如何从servlet调用jsp中定义的函数
- 我可以't让servlet使用ajax和xml将参数发送到jsp文件
- 调用一个不返回任何内容的servlet..加载时从jsp
- 如何在jsp中的javascript函数中从servlet获取json返回
- 通过超链接将值从jsp传递给servlet
- 当从servlet返回到JSP时,Javascript的变化非常明显
- 使用 ajax 和 JSP Servlet 根据选择的上一个下拉列表填充下拉列表
- 在 JSP/Servlet 而不是 JavaScript 中创建动态行
- 提交 jquery 后删除表单 (JSP&Servlet)
- 我们可以使用 JavaScript 函数从 JSP 调用 Servlet 吗?
- 为什么 Servlet.service() for servlet jsp 抛出了异常 java.lang.NullPo
- 如何使用servlet jsp读取excel文件
- 如何从nodejs检查用户是否在servlet/jsp应用程序中进行了身份验证(登录)
- 将数据ArrayList(EJB+Servlet+JSP(JSTL))显示为JavaScript ArrayList
- 是否有可能在servlet /jsp和javascript函数之间共享会话变量?