Amazon web services 使用Meteor在S3上渲染文件
我正在尝试渲染PDF,但这个问题可以应用于图像文件或任何类型的文件,您可以将其渲染到web浏览器,也可以应用到Meteor 1.0.3 Iron Router IR浏览器,使用S3作为PDF的存储位置 上下文 我的这个过程在没有S3的情况下工作,只使用服务器端目录,但现在希望合并S3用于存储 目前,我的生成文件位于此处,例如: 应用程序名/server/.files/users/user name/test.pdf 我在服务器端路径上使用IR渲染pdf,如下所示:Amazon web services 使用Meteor在S3上渲染文件,amazon-web-services,meteor,amazon-ec2,amazon-s3,iron-router,Amazon Web Services,Meteor,Amazon Ec2,Amazon S3,Iron Router,我正在尝试渲染PDF,但这个问题可以应用于图像文件或任何类型的文件,您可以将其渲染到web浏览器,也可以应用到Meteor 1.0.3 Iron Router IR浏览器,使用S3作为PDF的存储位置 上下文 我的这个过程在没有S3的情况下工作,只使用服务器端目录,但现在希望合并S3用于存储 目前,我的生成文件位于此处,例如: 应用程序名/server/.files/users/user name/test.pdf 我在服务器端路径上使用IR渲染pdf,如下所示: Router.route('/
Router.route('/test-pdf', function() {
if(!user) return this.response.end("Not allowed");
var filePath = process.env.PWD + "/server/.files/users/" + userId + "/" + "test.pdf";
console.log(filePath);
var fs = Npm.require('fs');
var data = fs.readFileSync(filePath);
this.response.write(data);
this.response.end();
}, {name: 'test-pdf', where: 'server'});
包装
我考虑过使用Lepozepo/S3,甚至是eluck/meteor aws sdk,但目前还没有根据我所知道的做出决定
特别是,Lepozepo/S3似乎致力于S3,所以我现在学习这种方式
Lepozepo/S3的设置似乎足够简单,但我不确定如何使用它从S3“获取”或“流式传输”文件,并将其正确呈现到浏览器
我在Lepozepo/s3api中看到了对“stream”、“upload”和“delete”的调用,但没有真正的例子说明我需要什么,我认为是“stream”还是“download”
问题
如何使用Meteor中的IR路由使用Lepozepo/S3 API调用将PDF或其他类型的文件呈现给浏览器?要使浏览器正确呈现PDF或其他类型的文件,需要将上载文件的头mime类型设置为应用程序/pdf@ajduke,谢谢你的评论。你什么意思?我可以用Iron Router呈现pdf,而不必做所有这些头文件/mime类型的事情-为什么S3中的pdf会有任何不同?如何更改源,如何更改渲染方式?