Я пытаюсь загрузить файлы в хранилище Amazon S3, используя Java API Amazon. КодЗагрузка кодированного изображения Base64 в Amazon s3 с помощью java
Byte[] b = data.getBytes();
InputStream stream = new ByteArrayInputStream(b);
//InputStream stream = new FileInputStream(new File("D:/samples/test.txt"));
AWSCredentials credentials = new BasicAWSCredentials("<key>", "<key1>");
AmazonS3 s3client = new AmazonS3Client(credentials);
s3client.putObject(new PutObjectRequest("myBucket",name,stream, new ObjectMetadata()));
Когда я запускаю код после того, как комментируя первые две строки и раскомментировать третий, т.е. stream
является FileoutputStream
, файл правильно загружен. Но когда data
является строкой с кодировкой base64, которая представляет собой данные изображения, файл загружается, но изображение повреждено. Документация Amazon говорит, что мне нужно создать и приложить политику POST и подпись для этого. Как я могу это сделать в java? Я не использую форму html
для загрузки.
действительно хороший вопрос +1 – Chris
Хороший Q, любая удача, выясняя это? – MMeah