0
我正在嘗試使用MD5內容生成AWS預定網址。該URL生成,但是當我用它來上傳失敗,HTTP 403錯誤Java AWS s3:如何使用Md5預簽名url設置和上傳內容
Java代碼來生成presigned URL內容如下:
GeneratePresignedUrlRequest generatePresignedUrlRequest = new GeneratePresignedUrlRequest(bucketName, key, httpMethod);
byte[] resultByte = DigestUtils.md5(/*byte array*/);
String streamMD5 = new String(java.util.Base64.getEncoder().encode(resultByte));
generatePresignedUrlRequest.setContentMd5(streamMD5);
s3Client.generatePresignedUrl(generatePresignedUrlRequest);
Java代碼上傳使用預籤數據url:
HttpURLConnection connection;
try {
connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setRequestMethod("PUT");
OutputStream output = connection.getOutputStream();
output.write(getImage());
output.flush();
assertEquals(OK, connection.getResponseCode());
} catch (IOException e) {
LOGGER.info("Exception: {}", e);
}
我不確定需要在上傳代碼上添加什麼才能使其工作。