Tôi đang sử dụng Evaporate.js để tải tệp lên S3. Tôi đã có mọi thứ hoạt động, cho đến khi tôi quyết định bật tính năng mã hóa phía máy chủ.Xấu XMLHttpRequest khi tải lên S3
Theo tài liệu S3, bạn có thể bật bằng cách truyền tiêu đề. Vì vậy, tôi đang cập nhật add tôi trông giống như:
var promise = _e_.add({
name: name,
file: files[i],
started: callback_methods.started,
complete: callback_methods.complete,
cancelled: callback_methods.cancelled,
progress: callback_methods.progress,
error: callback_methods.error,
warn: callback_methods.warn,
paused: callback_methods.paused,
pausing: callback_methods.pausing,
resumed: callback_methods.resumed,
nameChanged: callback_methods.nameChanged,
xAmzHeadersAtInitiate: { 'x-amz-server-side-encryption': 'AES256'} // THIS IS THE ONLY LINE THAT CHANGED!!!
}
)
tôi nhận được lỗi: DOMException: Failed to execute 'setRequestHeader' on 'XMLHttpRequest': 'AWS4-HMAC-SHA256 Credential=XXXXXXXXXXXXXXX/XXXXXXX/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-server-side-encryption, Signature=XXXXXXXXXXXXXXXXXXXXX' is not a valid HTTP header field value.
Điều kỳ lạ là tôi có thể đặt xAmzHeadersAtInitiate thành '{'x-amz-acl': 'public-read'}' và nó hoạt động tốt. – Muhambi
Bạn có sử dụng Evaporate.js làm mô-đun trong ứng dụng nodejs hay bạn đang sử dụng nó từ một tập lệnh trong trình duyệt? Nếu một trình duyệt, bạn đang sử dụng trình duyệt nào? –