在一页中,有一个下载文件的链接,例如 \myapp\controller\file?id=45
在控制器中有
InputStream stream = null;
byte [] buffer =someService.getFile(somedata);
stream = new ByteArrayInputStream(buffer);
System.out.println("get file---");
response.addHeader("Content-Disposition","attachment; filename=report.pdf");
try {
IOUtils.copy(stream, response.getOutputStream());
System.out.println("get file---OK");
} catch (Exception e) {
e.printStackTrace();
}
这项工作正常,但在另一页
$.ajax({
type: 'POST',
url: '${url}',
data: {sdate: $('#date').val() },
success: function (data) {
alert(data)
},
error:function (xhr, ajaxOptions, thrownError) {
console.log("in error");
}
});
在控制台上曾经说过
获取文件-
获取文件-确定
但是浏览器什么也不做。
我添加了成功alert(data)
进行调试,它显示了PDF文件的二进制内容,例如:
%PDF-1.4% 3 0 obj <> streamx ͝O $ q )ޑ: U] E d A 1^ h ǃ \ nS X + RI J Y r F
?
现在,资源管理器如何理解要下载的文件?
由于缺少许可证,我无法保存服务器端的文件
您不能使用ajax下载文件。
无论使用
window.location="fileName"
在我的服务器中,每小时生成一个文件,通常是250到300 mb,我想下载这些文件并将其放在hadoop下。如果有人有任何想法,请回复如何做。
` ` 在TOmCAT服务器中。我无法运行这个项目。? ` 严重:web应用程序[/SpringMvc4]中的Servlet[spring]抛出了load()异常Java。伊奥。FileNotFoundException:无法打开组织上的ServletContext资源[/WEB-INF/spring servlet.xml]。springframework。网状物上下文支持ServletCont
我使用intelliJ IDEA中的maven webapp原型创建了一个spring项目。我正在使用tomcat插件和maven插件。我可以在app name/home路径上运行这个应用程序,但是css和图像没有加载,它显示的是简单的文本和图像表情。 在项目内部,我创建了ApplicationInitializer类,这很好,ApplicationConfig看起来像这样- 下面是文件夹结构-
问题内容: 我制作了一个脚本,该脚本使用$ .ajax和FormData将两个表单对象传递给PHP。一个表单对象是文本,另一个是文件。它作为独立脚本运行良好。但是,将其作为插件添加到Wordpress后,它一直给我。 我不能序列化formdata,仅仅是因为那样我将无法将文件传递给PHP中的回调函数。 ajax调用之前涉及FormData的JS: 上面的这一部分是100%正确的。 Ajax呼叫:
问题内容: 有什么方法可以在客户端上创建文本文件并提示用户下载文本文件,而无需与服务器进行任何交互?我知道我不能直接写给他们的机器(安全性和全部),但是我可以创建并提示他们保存吗? 问题答案: 您可以使用数据URI。浏览器支持各不相同。 例: 八位字节流将强制进行下载提示。否则,它可能会在浏览器中打开。 对于CSV,您可以使用: