我正在尝试解决使用AJAX和多部分表单数据的问题。 This page看起来是个好主意。基本上,您可以将表单提交的输出重定向到iframe,而不是使用AJAX。但是,它并不适合我。这是我的客户端HTML代码:
<form id="submitDocumentForm" target='upload_target' name="submitDocumentForm" enctype="multipart/form-data" action="MyServlet" method="POST">
<input id="inputFile" type="file" name="inputFile"/>
<input type="submit" value="Import Document" />
<iframe id="upload_target" name="upload_target" src="" style="width:100;height:100;border:0px solid #fff;"></iframe>
</form>
服务器端处理似乎工作正常,但客户端响应(IE7)是弹出文件下载“您要保存此文件,还是查找程序...”对话框。这是相关的服务器端Java代码:
//handling of the file and exception handling omitted
JSONObject responseData = new JSONObject();
responseData.put("messages", "Upload complete");
PrintWriter pw = response.getWriter();
response.setHeader(RESP_HEADER_CACHE_CONTROL, RESP_HEADER_VAL_NO_CACHE);
response.setContentType("application/json");
pw.println(responseData.toString());
pw.close();
有关如何解决此问题的任何建议?非常感谢提前。
答案 0 :(得分:6)
将响应的Content-Type设置为text/plain
,以强制浏览器将其视为文档而不是文件。