我想在将任何文件发送到带有精细上传器的s3时将Content-Type覆盖为“application / octet-stream”。
我正在上传视频文件,在检索视频文件时,我从不希望浏览器打开它我总是想要下载。
我尝试在签名签名中覆盖它,但是上传失败了签名测试。我可以得到一个好的上传者告诉s3它将它保存为“application / octet-stream”吗?
或者在使用AWS开发工具包生成预签名网址以告诉它始终作为“application / octet-stream”发送时,有没有办法?我认为这可能会这样做,但至少在Chrome中,它会尝试在浏览器中播放视频。
var headerOverrides = new ResponseHeaderOverrides { ContentType = "application/octet-stream" };
var urlRequest = new GetPreSignedUrlRequest
{
BucketName = _bucketName,
Key = key,
Expires = DateTime.Now.AddMinutes(120),
ResponseHeaderOverrides = headerOverrides,
Protocol = Protocol.HTTPS,
Verb = HttpVerb.GET
};
答案 0 :(得分:3)
将Content-Type
标头设置为某个通用值不是解决问题的正确方法。相反,您需要设置适当的Content-Disposition
标头。目前,您需要使用S3 API as part of handling Fine Uploader's upload success call通过服务器对您的对象进行此调整。有an open case to allow these types of headers to be associated with each object client-side。