Как изменить тип mime для загружаемых файлов на Amazon S3. Я пробовал с http://docs.amazonwebservices.com/AWSSDKforPHP/latest/#m=AmazonS3/change_content_type, но он не работает.MIME Тип для загружаемых файлов на S3
ответ
Вы можете попробовать это:
// Instantiate the class
$s3 = new AmazonS3();
$bucket_name = 'my-bucket';
$file_name = 'test1.txt';
$mime_type = getMimeType($file_name);
$response = $s3->change_content_type($bucket_name, $file_name, $mime_type);
// Success?
var_dump($response->isOK());
function getMimeType($file) {
// MIME types array
$mimeTypes = array(
"323" => "text/h323",
"acx" => "application/internet-property-stream",
"ai" => "application/postscript",
"aif" => "audio/x-aiff",
"aifc" => "audio/x-aiff",
"aiff" => "audio/x-aiff",
"asf" => "video/x-ms-asf",
"asr" => "video/x-ms-asf",
"asx" => "video/x-ms-asf",
"au" => "audio/basic",
"avi" => "video/x-msvideo",
"axs" => "application/olescript",
"bas" => "text/plain",
"bcpio" => "application/x-bcpio",
"bin" => "application/octet-stream",
"bmp" => "image/bmp",
"c" => "text/plain",
"cat" => "application/vnd.ms-pkiseccat",
"cdf" => "application/x-cdf",
"cer" => "application/x-x509-ca-cert",
"class" => "application/octet-stream",
"clp" => "application/x-msclip",
"cmx" => "image/x-cmx",
"cod" => "image/cis-cod",
"cpio" => "application/x-cpio",
"crd" => "application/x-mscardfile",
"crl" => "application/pkix-crl",
"crt" => "application/x-x509-ca-cert",
"csh" => "application/x-csh",
"css" => "text/css",
"dcr" => "application/x-director",
"der" => "application/x-x509-ca-cert",
"dir" => "application/x-director",
"dll" => "application/x-msdownload",
"dms" => "application/octet-stream",
"doc" => "application/msword",
"dot" => "application/msword",
"dvi" => "application/x-dvi",
"dxr" => "application/x-director",
"eps" => "application/postscript",
"etx" => "text/x-setext",
"evy" => "application/envoy",
"exe" => "application/octet-stream",
"fif" => "application/fractals",
"flr" => "x-world/x-vrml",
"gif" => "image/gif",
"gtar" => "application/x-gtar",
"gz" => "application/x-gzip",
"h" => "text/plain",
"hdf" => "application/x-hdf",
"hlp" => "application/winhlp",
"hqx" => "application/mac-binhex40",
"hta" => "application/hta",
"htc" => "text/x-component",
"htm" => "text/html",
"html" => "text/html",
"htt" => "text/webviewhtml",
"ico" => "image/x-icon",
"ief" => "image/ief",
"iii" => "application/x-iphone",
"ins" => "application/x-internet-signup",
"isp" => "application/x-internet-signup",
"jfif" => "image/pipeg",
"jpe" => "image/jpeg",
"jpeg" => "image/jpeg",
"jpg" => "image/jpeg",
"js" => "application/x-javascript",
"latex" => "application/x-latex",
"lha" => "application/octet-stream",
"lsf" => "video/x-la-asf",
"lsx" => "video/x-la-asf",
"lzh" => "application/octet-stream",
"m13" => "application/x-msmediaview",
"m14" => "application/x-msmediaview",
"m3u" => "audio/x-mpegurl",
"man" => "application/x-troff-man",
"mdb" => "application/x-msaccess",
"me" => "application/x-troff-me",
"mht" => "message/rfc822",
"mhtml" => "message/rfc822",
"mid" => "audio/mid",
"mny" => "application/x-msmoney",
"mov" => "video/quicktime",
"movie" => "video/x-sgi-movie",
"mp2" => "video/mpeg",
"mp3" => "audio/mpeg",
"mpa" => "video/mpeg",
"mpe" => "video/mpeg",
"mpeg" => "video/mpeg",
"mpg" => "video/mpeg",
"mpp" => "application/vnd.ms-project",
"mpv2" => "video/mpeg",
"ms" => "application/x-troff-ms",
"mvb" => "application/x-msmediaview",
"nws" => "message/rfc822",
"oda" => "application/oda",
"p10" => "application/pkcs10",
"p12" => "application/x-pkcs12",
"p7b" => "application/x-pkcs7-certificates",
"p7c" => "application/x-pkcs7-mime",
"p7m" => "application/x-pkcs7-mime",
"p7r" => "application/x-pkcs7-certreqresp",
"p7s" => "application/x-pkcs7-signature",
"pbm" => "image/x-portable-bitmap",
"pdf" => "application/pdf",
"pfx" => "application/x-pkcs12",
"pgm" => "image/x-portable-graymap",
"pko" => "application/ynd.ms-pkipko",
"pma" => "application/x-perfmon",
"pmc" => "application/x-perfmon",
"pml" => "application/x-perfmon",
"pmr" => "application/x-perfmon",
"pmw" => "application/x-perfmon",
"pnm" => "image/x-portable-anymap",
"pot" => "application/vnd.ms-powerpoint",
"ppm" => "image/x-portable-pixmap",
"pps" => "application/vnd.ms-powerpoint",
"ppt" => "application/vnd.ms-powerpoint",
"prf" => "application/pics-rules",
"ps" => "application/postscript",
"pub" => "application/x-mspublisher",
"qt" => "video/quicktime",
"ra" => "audio/x-pn-realaudio",
"ram" => "audio/x-pn-realaudio",
"ras" => "image/x-cmu-raster",
"rgb" => "image/x-rgb",
"rmi" => "audio/mid",
"roff" => "application/x-troff",
"rtf" => "application/rtf",
"rtx" => "text/richtext",
"scd" => "application/x-msschedule",
"sct" => "text/scriptlet",
"setpay" => "application/set-payment-initiation",
"setreg" => "application/set-registration-initiation",
"sh" => "application/x-sh",
"shar" => "application/x-shar",
"sit" => "application/x-stuffit",
"snd" => "audio/basic",
"spc" => "application/x-pkcs7-certificates",
"spl" => "application/futuresplash",
"src" => "application/x-wais-source",
"sst" => "application/vnd.ms-pkicertstore",
"stl" => "application/vnd.ms-pkistl",
"stm" => "text/html",
"svg" => "image/svg+xml",
"sv4cpio" => "application/x-sv4cpio",
"sv4crc" => "application/x-sv4crc",
"t" => "application/x-troff",
"tar" => "application/x-tar",
"tcl" => "application/x-tcl",
"tex" => "application/x-tex",
"texi" => "application/x-texinfo",
"texinfo" => "application/x-texinfo",
"tgz" => "application/x-compressed",
"tif" => "image/tiff",
"tiff" => "image/tiff",
"tr" => "application/x-troff",
"trm" => "application/x-msterminal",
"tsv" => "text/tab-separated-values",
"txt" => "text/plain",
"uls" => "text/iuls",
"ustar" => "application/x-ustar",
"vcf" => "text/x-vcard",
"vrml" => "x-world/x-vrml",
"wav" => "audio/x-wav",
"wcm" => "application/vnd.ms-works",
"wdb" => "application/vnd.ms-works",
"wks" => "application/vnd.ms-works",
"wmf" => "application/x-msmetafile",
"wps" => "application/vnd.ms-works",
"wri" => "application/x-mswrite",
"wrl" => "x-world/x-vrml",
"wrz" => "x-world/x-vrml",
"xaf" => "x-world/x-vrml",
"xbm" => "image/x-xbitmap",
"xla" => "application/vnd.ms-excel",
"xlc" => "application/vnd.ms-excel",
"xlm" => "application/vnd.ms-excel",
"xls" => "application/vnd.ms-excel",
"xlsx" => "vnd.ms-excel",
"xlt" => "application/vnd.ms-excel",
"xlw" => "application/vnd.ms-excel",
"xof" => "x-world/x-vrml",
"xpm" => "image/x-xpixmap",
"xwd" => "image/x-xwindowdump",
"z" => "application/x-compress",
"zip" => "application/zip"
);
$extension = end(explode('.', $file));
return $mimeTypes[$extension]; // return the array value
}
Спасибо, как полезный, но «change_content_type» не работает для меня. – Dev
Ядро службы Amazon S3 не делает никаких попыток сохранить списки контроля доступа или тип содержимого во время копирования на месте (то есть, заменить) операцию.
Я знаю, что метод AmazonS3 :: change_content_type() является просто оболочкой вокруг метода copy_object(). Если вы look at the implementation, вы увидите, что PHP SDK пытается найти текущий ACL и тип содержимого перед выполнением операции копирования на месте, чтобы обойти эту проблему в основной службе S3.
Если это не работает для вас, разместили ли вы это как ошибку для AWS PHP forum? Похоже, что разработчик SDK очень отзывчив на устранение ошибок, которые сообщаются там.
- 1. Проверьте тип загружаемых файлов mime в node.js
- 2. Изменение Mime Тип загружаемых PDF-файлов на Google Диске
- 3. Тип Mime для файлов .txt?
- 4. Тип Mime для текстовых файлов
- 5. MIME тип файлов гитарных файлов?
- 6. Rails Thumbnails для видеороликов, загружаемых на S3
- 7. Неверный MIME-тип для загруженных ZIP-файлов
- 8. Правильный MIME тип носителя для JNLP файлов
- 9. Что такое тип MIME для файлов свойств?
- 10. Установка типа mime на объекте S3
- 11. Тип MIME для каталога
- 12. как изменить MIME на Amazon S3
- 13. Требуемый тип Mime для CSV
- 14. MIME-тип для tgz
- 15. URN для MIME Тип
- 16. Статический маршрут для загружаемых файлов
- 17. Как отслеживать количество загружаемых файлов?
- 18. PHP тип MIME, ограничение загрузки файлов
- 19. Как получить mime-тип файлов p7s?
- 20. Почему MIME-тип для текста HTML, но MIME-тип для приложения XHTML?
- 21. MIME-тип для WP8 AET
- 22. MIME-тип для шейдерного кода
- 23. action_send тип mime для ссылок
- 24. Получить тип mime для MediaSource.isTypeSupported
- 25. Максимальное количество загружаемых файлов
- 26. Признать мой тип mime без расширения файлов на iOS
- 27. Замена загружаемых файлов
- 28. Местоположение загружаемых файлов Magento после покупки?
- 29. Спорадическое повреждение загружаемых файлов
- 30. MIME-тип для транскодированного потока
Какая ошибка/сообщение вы получаете? –
isOK отображает true, но не работает в реальном режиме. – Dev
, пожалуйста, напишите свой код – mfonda