Podczas korzystania z AWS-sdk npm plugin nods.js, mogę przesłać plik PDF na 50kb z następującego kodu (do AWS S3):Węzeł AWS-sdk przesłać plik s3 rozmiarach
var params = {
Bucket: BUCKET,
Key: pdf_key,
Body: file,
ContentType: 'application/pdf'
};
var s3 = new AWS.S3();
s3.putObject(params, function(error, data) {
console.log(data);
console.log(error);
if (error) {
console.log(error);
callback(error, null);
} else {
callback(null, pdf_key);
}
});
Ale kiedy Przesyłając plik PDF o wielkości 11 MB, nawet po podaniu numeru ContentLength
, przesyłanie trwa wiecznie, nawet z czasem oczekiwania wynoszącym 2 minuty.
Pytanie brzmi, jak sprawić, aby aws s3 akceptował duży plik pdf?
UPDATE
ja nadal nie znalazłem żadnej dokumentacji lub anwers na pytanie.
UPDATE 2
zgodzę odpowiedzi, które pokazują na tej lub innej ramy, która może to zrobić. Będę potrzebował tej struktury, aby móc zezwolić na automatyczne odczytanie obiektu.
UPDATE 3 mam go teraz pracuje ale nie znalazłem powód to nie powinno działać.
Z góry dziękuję!
Nie sądzę, że jest to problem z kodem. Przesyłanie na S3 jest zwykle powolne, a zmiany w sieci mogą sprawić, że będzie on jeszcze bardziej nieprzewidywalny. Jeśli martwisz się o przesyłanie dużych plików, możesz użyć wieloczęściowych plików. Oto przykład: https://gist.github.com/sevastos/5804803 – Sev
Przesyłanie wieloczęściowe brzmi nieźle, ale czy to naprawdę konieczne? Największy plik PDF to ~ 50mb. Potrafię przyjąć odpowiedź, jeśli piszesz, że ogólnie jest powolna itd. Itd., Ponieważ mam teraz działającą bez żadnych modyfikacji z mojej pracy Internet, który jest szybszy niż moje domy. –