这是我在网上找到的解决方案:[https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-example-photo-album.html]
function addPhoto(albumName) {
var files = document.getElementById('photoupload').files;
if (!files.length) {
return console.log('Please choose a file to upload first.');
}
var file = files[0];
var fileName = file.name;
var albumPhotosKey = encodeURIComponent(albumName) + '//';
var photoKey = albumPhotosKey + fileName;
s3.upload({
Key: photoKey,
Body: file,
ACL: 'public-read'
}, function(err, data) {
if (err) {
return console.log('There was an error uploading your photo: ', err.message);
}
console.log('Successfully uploaded photo.');
viewAlbum(albumName);
});
}
但是,在我当前的环境中,没有称为“文档”的概念。我真的不知道“文档”是如何工作的。我可以在当前环境中包含“文档”吗?或者我可以使用其他方法来获取本地文件[图像]?非常感谢!
s3.upload:https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#upload-property
答案 0 :(得分:1)
您应该指定您的环境。 document
对象仅在HTML(在浏览器中运行的网页)中有意义。如果您不是在浏览器中运行而是独立运行,则可能使用Node.js。
正如documentation所说,Body
参数可以是Buffer,Typed Array,Blob,String或ReadableStream。
因此,Node.js中本地文件的简单上载可能类似于:
var fs = require('fs');
var stream = fs.createReadStream('/my/file');
s3.upload({
Bucket: 'mybucket',
Key: 'myfile'
Body: stream
}, function(err, data) {
if (err) return console.log('Error by uploading.', err.message);
console.log('Successfully uploaded.');
});
答案 1 :(得分:0)
文档对象模型(DOM)是一种跨平台且独立于语言的应用程序编程接口,该文档编程接口将HTML,XHTML或XML文档视为树结构,其中每个节点都是代表文档一部分的对象。 / p>
DOM表示带有逻辑树的文档。树的每个分支都以一个节点结尾,并且每个节点都包含对象。 DOM方法允许通过编程方式访问树;使用它们可以更改文档的结构,样式或内容。节点可以附加有事件处理程序。触发事件后,事件处理程序便会执行
来源: https://en.wikipedia.org/wiki/Document_Object_Model
这只是将页面加载到浏览器后用于访问DOM的根上下文。
查看文档模型加载事件的示例:
document.addEventListener("DOMContentLoaded", function(event) {
// - Code to execute when all DOM content is loaded.
alert("LOADED!");
});