





accept-encodingaccept-encodingidentitygziprequest.cf.clientAcceptEncodingPutObjectHEADPutObjectCommandif-???curl -X PUT <cool-presigned-url> --data-binary 'lol' --header 'If-None-Match: "9cdfb439c7876e703e307864c9167a15"' -vvv4xxUncaught (in response) Error: internal errorreq.headersreq.headersR2PutOptions#onlyIfR2GetOptions#rangetry {
for (const file of files) {
const fileStream = fs.readFileSync(file);
const fileName = file.replace(/uploads\//g, '');
console.log(fileName)
const uploadParams: PutObjectCommandInput = {
Bucket: 'test-bucket',
Key: fileName,
Body: fileStream,
ContentLength: fs.statSync(file).size,
ContentType: 'application/octet-stream'
};
const data = await S3.send(new PutObjectCommand(uploadParams));
console.log("Success", data);
}
} catch (err) {
console.log("Error", err);
}const body = 'lol';
const digest = createHash('md5').update(body).digest("hex");
const cmd = new PutObjectCommand({Bucket: 'sdk-example', Key: 'dog.png', Body: body});
cmd.middlewareStack.add((next, context) => async (args) => {
args.request.headers["if-none-match"] = `"${digest}"`;
const result = await next(args);
return result;
}, {
step: "build",
name: "addETag"
})
const data = await S3.send(cmd);
console.log(data);