#amazon-web-services #amazon-s3
#amazon-веб-сервисы #amazon-s3
Вопрос:
Это решение, которое я нашел в Интернете: [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);
});
}
Однако в моей текущей среде нет такого понятия, как «документ». Я действительно не знаю, как работает «документ». Могу ли я включить «document» в мою текущую среду? Или я могу использовать что-то другое для получения локального файла [изображения]? Большое спасибо!
s3.загрузить:https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#upload-property
Ответ №1:
Вы должны указать, какова ваша среда. document
объект имеет смысл только в HTML, веб-странице, запущенной в браузере. Если вы работаете не в браузере, а автономно, вы, вероятно, используете Node.js .
Как говорится в документации, Body
параметром может быть буфер, типизированный массив, большой двоичный объект, строка или 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. Большое спасибо! Это то, что я ищу.
Ответ №2:
Объектная модель документа (DOM) — это кроссплатформенный и независимый от языка интерфейс прикладного программирования, который обрабатывает HTML, XHTML или XML-документ как древовидную структуру, в которой каждый узел является объектом, представляющим часть документа.
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!");
});