我有test[0].y
项目。我想通过ajax将图像文件发送到我的servlet。
Ajax没有将图像文件发送到我的java类。但它正在发送textarea价值。
这是我的表格
javaee
JavaScript函数:
<form enctype="multipart/form-data" beanclass="ActionBean">
<input type="file" id="uploadFile" name="newAttachment"/>
<textarea name="name" id="name" rows="2" cols="30"></textarea>
<s:submit value="Edit" name="saveOfferInfo" onclick="return edit(this);" />
答案 0 :(得分:0)
使用AJAX无法上传文件,请查看更多详情
首先我要说创建一个纯AJAX文件上传 由于JavaScript的安全限制,系统无法实现。 我所知道的所有Ajax上传系统都使用了一些第三方 工具/包或仅模仿AJAX的感觉。即使这样它也会制作文件 上传过程好一点。在下一节中,我将向您介绍一个 模仿AJAX过程但使用普通上传的解决方案 流程和iFrame。
概念:
如果您不打算使用较旧的浏览器版本并想要为最新的浏览器编码,那么您可以使用FileReader API请参阅Using HTML5 file uploads with AJAX and jQuery
答案 1 :(得分:0)
查看$.serializeArray()
的文档,它具体说明了
来自文件选择元素的数据未被序列化。
不幸的是,在AJAX中上传文件并不是那么简单。有一个使用直接JQuery的详细教程here。它的要点是你需要:
change
事件处理程序$.ajax
函数发布表单数据。 工作太多了?
或者,如果您不介意在代码中包含插件,可以选择以下选项:
或者正如Rohan指出的那样,如果您使用的是HTML5,则可以浏览FileReader API。