![](/img/trans.png)
[英]How to return HTML code from Lambda function in NodeJS?
[英]How to call a NodeJS function from HTML?
我正在尝试创建一个 function,它将一个新文件添加到 AWS 中的 S3 存储桶中。 function 在 NodeJS 中工作。
const AWS = require('aws-sdk');
AWS.config.update({region: 'us-east-2'});
s3 = new AWS.S3({apiVersion: '2006-03-01'});
// call S3 to retrieve upload file to specified bucket
const file = "file.png";
const uploadParams = {Bucket: "uploads", Key: '', Body: ''};
const fs = require('fs');
const fileStream = fs.createReadStream(file);
fileStream.on('error', function(err) {
console.log('File Error', err);
});
uploadParams.Body = fileStream;
const path = require('path');
uploadParams.Key = path.basename(file);
s3.upload (uploadParams, function (err, data) {
if (err) {
console.log("Error", err);
} if (data) {
console.log("Upload Success", data.Location);
}
});
我现在要做的是获取此代码并使其在 HTML 中上传文件时执行。我有一个简单的 HTML 脚本,用户可以在其中上传文件,我希望在按下提交按钮时执行上述代码。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<form action="javascript:loadAPI(document.getElementByID('fileUpload'))">
<label>Upload a file to AWS S3</label>
<input type="file" id="fileUpload" name="filename">
<input type="submit">
</form>
<script type="text/javascript" src="apiFunction.js">
</script>
</body>
</html>
问题是,如果我将节点 function 放在 loadAPI 中,我会收到以下错误。
Uncaught ReferenceError: require is not defined
有谁知道我如何使用 HTML 中的这个 function?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.