如何在不将文件加载到内存的情况下使用预先签名的URL将文件上传到S3

时间:2019-05-31 00:23:47

标签: java amazon-s3 upload out-of-memory

我正在使用预签名的AWS S3 URL使用Java从内存有限的设备上载文件。但是,有时候我需要上传一些大文件。问题在于将这些文件加载​​到内存中会导致内存不足异常。

我发现可以将文件直接流式传输到S3(例如https://www.example-code.com/java/s3_file_stream_upload.asp),但是我找不到任何有关如何使用预签名URL的信息。

有没有一种方法可以使用预先签名的URL将大文件(5 GB以下)上传到S3,而无需先将文件加载到内存中?

1 个答案:

答案 0 :(得分:0)

这可以使用Multipart来实现。您无需将文件本地存储在服务器上,这样可以避免 内存异常。 下面的代码在Java中

eventClick: function(info) {
     var inceput = moment(info.event.start).format('dddd, Do MMMM YYYY, h:mm');
     sfarsit = moment(info.event.end).format('h:mm');
     interval = inceput + ' - ' + sfarsit;
     $('#modalTitle').html(info.event.title);
     $('#regia').html(info.event.extendedProps.regia);
     $('#gen').html(info.event.extendedProps.gen);
     $('#descriere').html(info.event.extendedProps.descriere);
     $('#modalWhen').text(interval);
     $('#eventUrl').attr('href', info.event.url);
     $('#info-event').modal();
}