ajaxfileupload 提示文件另存为

lvgaolong 2015-01-26

使用Jquery 的插件AjaxFileUpload做上传时,如果使用的是Struts2,那么需要在Struts.xml文件中对Action进行配置,
<package name="struts_Ajax_code" extends="json-default">
<!-- 文件上传 --> 
<action name="fileAction" class="com.bk.eserver.web.action.AjaxFileUploadAction" method="fileUpload">
<result type="json" name="success">
<param name="contentType">text/html</param>
</result>
</action>
</package>

注意结合Action观察struts.xml中result的配置。

contentType参数是一定要有的,否则浏览器总是提示将返回的JSON结果另存为文件,不会交给ajaxfileupload处理。这是因为struts2JSONPlugin默认的contentType为application/json,而ajaxfileupload则要求为text/html。

如果直接在Action中向客户端发送Json内容时需要:
super.getResponse().setContentType("text/html; charset=utf-8");
			//发送给客户端
		    super.getResponse().getWriter().print(json);

相关推荐