Tôi hiện làm cho việc sử dụng sau để tải lên một tập tin để S3:Lưu một đối tượng BufferedImage đến Amazon S3 như một tập tin
File file = new File(my_file_path);
AmazonS3 s3 = new AmazonS3Client(new PropertiesCredentials(cred));
s3.putObject(new PutObjectRequest("folder", key, file));
Trên đây hoạt động tốt nhưng tôi muốn trực tiếp tiết kiệm BufferedImage
để S3 cạo một vài giây từ ứng dụng của tôi nhưng tôi không có đầu mối về cách làm điều này? Đây là cách tôi hiện đang lưu hình ảnh của tôi vào một tệp:
image = new BufferedImage(rawImage.width, rawImage.height, BufferedImage.TYPE_INT_ARGB);
File file = new File(filepath);
ImageIO.write(image, "png", file);
Có cách nào để làm việc viết trực tiếp đến Amazon S3 như một dòng suối, nếu như vậy, ai đó có thể cho thấy một ví dụ?
Ngoài ra, đây có phải là một ý tưởng hay không? Nếu nó dễ bị lỗi, tôi sẽ dính vào phương pháp hiện tại của tôi. Bất kỳ lời khuyên nào được đánh giá cao.
Điều này làm việc tuyệt vời, cảm ơn bạn jkraybill! Tôi sẽ thêm kiểu nội dung 'meta.setContentType (" image/png ");' kể từ khi tôi cố gắng mở nó trong giao diện điều khiển AWS S3, nó tiếp tục tải nó hơn là cho phép tôi xem hình ảnh. Chỉ để các độc giả tương lai của câu hỏi này không đi lên trên này. :) – Abs
Vui mừng được phục vụ! – jkraybill
Hoàn hảo! làm việc như nó nên được :) Cảm ơn! – Athar