module.exports = function(customENV){ return function(req, res) {
new AWS.S3().getObject({ Bucket: aws_bucket, Key: aws_file }, function(err, data) {
if(!err) {
res.set('Access-Control-Allow-Origin', "*");
res.set('Access-Control-Allow-Methods', 'GET, POST');
res.set('Content-Disposition', `inline; filename="rename.docx"`);
res.type('docx');
res.status(200);
res.end(data.Body, 'binary');
}
});
}};
exports.handler = function(event, context, callback) {
new AWS.S3().getObject({ Bucket: aws_bucket, Key: aws_file }, function(err, data) {
if(!err) {
var response = {
statusCode: 200,
headers: {
'Access-Control-Allow-Origin': "*",
'Access-Control-Allow-Methods': 'GET, POST',
'Content-type' : 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
'Content-Disposition': 'inline; filename="rename.docx"'
},
isBase64Encoded: true,
body: data.Body,
};
callback(null, response);
}
});
};
如果将响应更改为:
var response = {
statusCode: 200,
headers: {
'Access-Control-Allow-Origin': "*",
'Access-Control-Allow-Methods': 'GET, POST',
'Content-type' : 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
'Content-Disposition': 'inline; filename="rename.docx"'
},
isBase64Encoded: true,
body: Buffer.from(data.Body).toString('base64'),
};
这应该可以克服无法base64解码body
错误(如果不能,请记录响应
对象,以确认lambda成功返回,并且body是base64字符串)。
但是,您还需要将二进制媒体类型添加到网关部署中,否则当您发出请求时,您的响应将是base64字符串,而不是二进制。只需点击几下(完整文档):
问题内容: 我试图做一些简单的命令来向文件中写入hello world: 这将返回一个空文件。 问题答案: Python每次之后都不会刷新文件。您要么需要使用以下命令手动刷新它: 或自己关闭它: 在实际程序中使用文件时,建议使用: 这样可以确保即使抛出异常也将关闭文件。但是,如果您想在REPL中工作,则可能要坚持手动关闭它,因为它会在尝试执行之前尝试读取全部内容。
问题内容: 在PHP中,如何从包含的脚本返回到包含它的脚本? IE浏览器: 1-主脚本2-应用程序3-包含 基本上,我想从3返回2,return()不起作用。 代码2-应用 问题答案: includeme.php: main.php: 也给出相同的结果 这是PHP鲜为人知的功能之一,但是对于设置非常简单的配置文件来说可能会很好。
我正在使用库python-docx解析docx文件。我需要阅读文档和段落的标题,但是我在文档中找不到任何关于文档标题的东西。有关于将标头写入新文件的文档,但没有关于读取标头的文档。有办法做到这一点吗?
我正在尝试使用docx4j API强制使用docx文件的权限。 文件有两个文档保护选项。
问题内容: 我有一个档案 用户来 我希望用户的浏览器开始下载文件。我怎么做?readfile是否在服务器上打开文件,这似乎是不必要的事情。有没有一种方法可以在不打开服务器的情况下返回文件? 问题答案: 我想你想要这个:
问题内容: 我已经使用serverless创建了一个lambda函数。该函数通过API网关在GET请求上触发,并应从缓冲区返回pdf文件。我正在使用html- pdf 创建缓冲区,并尝试使用以下命令返回pdf文件 但是浏览器只是无法加载pdf,所以我不知道确切如何将pdf文件直接返回到浏览器。找不到解决方案。 问题答案: 好吧,我找到了答案。我的响应对象中的设置很好,我只需要手动更改API Gat