将FineUploader直接用于S3存储桶时覆盖Content-Type

时间:2015-01-26 21:34:44

标签: amazon-s3 fine-uploader

我想在将任何文件发送到带有精细上传器的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
 };

1 个答案:

答案 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