我为我的大学项目建立了一个节点/快递网站,在搜索了法律的ID之后,它显示了一个包含不同格式和与此ID相关的语言的所有文件的大表.我使用模块" http-proxy "来请求并将这些文件提供给客户端.提供xml,xhtml,html和pdf文件时没有错(每个浏览器都能直接查看它们).我有.zip和.rdf文件的问题.文件没有损坏,但它们正在丢失原始名称
所以我发现标签"a"的HTML5属性"下载".它只是解决了我的问题,无论如何它在每个版本的Internet Explorer和Safari上都不受支持.浏览网页我发现在IE或Safari中查看页面时,在div链接后添加"右键单击并另存为..."的解决方法,但这个解决方案不适合我,因为我不是在谈论单个链接,但一个充满链接的表.我的网站也需要在手机上工作.
有没有办法编写一些服务器端代码来强制浏览器下载带有自定义文件名的文件?
这是代理的一小段代码:
var httpProxy = require('http-proxy');
var proxy = httpProxy.createProxyServer({ ignorePath: true });
app.get('/proxy', function(req , res) {
var file = req.query.file;
var realurl = 'http://'+cfg.edb_opt.host+':'+cfg.edb_opt.port+cfg.edb_opt.rest+file;
console.log('Proxy: serving '+realurl);
proxy.web(req, res, { 'target': realurl });
});
Run Code Online (Sandbox Code Playgroud)
所有cfg*变量都来自json配置文件,用于设置包含文件的主机,端口和起始路径.
提前致谢 :)