Несколько строк (ниже) генерируют подписанный URL-адрес, на который браузер перенаправляется, чтобы загрузить файл с S3.AWS S3: Загрузка файла Force с использованием 'response-content-disposition'
Я столкнулся с известной проблемой Chrome, не загружающей PDF-файлы с S3, когда тип контента установлен как октетный поток.
Решение состоит в том, чтобы заставить хром загружать файл, а не пытаться его читать и открывать.
Я попробовал добавить «response-content-disposition» для подписи, а также URL, но это не сработало.
Как использовать заголовок «response-content-disposition», когда должен быть сгенерирован url?
String codedFilename= EncodingUtil.urlEncode(bucketPath,'UTF-8');
String stringtosign = 'GET\n\n\n'+Lexpires+'\n/'+bucketName+'/'+codedFilename;
String signed = make_sig(stringtosign);
String codedsigned = EncodingUtil.urlEncode(signed,'UTF-8');
String url = serverURL+'/'+bucketName+'/'+codedFilename+'?AWSAccessKeyId='+awskey+'&Expires='+Lexpires+'&Signature='+codedsigned;
Примечание: - Синтаксис Salesforce-apex.
Пользовательские заголовки устанавливаются на сам файл. Эти заголовки будут отправлены клиенту при загрузке файла. Я считаю, что вы можете сделать это только при первом загрузке файла. – datasage
@ datasage, документация S3 не указывает тег «response-content-type» для запроса PUT. Поэтому я думаю, что мы не можем установить этот заголовок во время загрузки (я могу ошибаться в этом) –