aws php上传图片,php aws 文件上传设置content_type

在上传方法里面配置ContentType即可

$result = $this->client->putObject([

'Bucket' => $this->bucket, //桶

'Key' => trim($key), //可以

'Body' => fopen($fileUrl, 'rb'),//文件资源

'ACL' => 'public-read',//是否开放不签名直接访问

"ContentType" => $contentType //设置contentType,传入如下对应的文件类型type即可

]);

$Content-type 的说明:

'svg' -> 'image/svg+xml',

'hqx' -> 'application/mac-binhex40',

'cpt' -> 'application/mac-compactpro',

'doc' -> 'application/msword',

'bin' -> 'application/octet-stream',

'dms' -> 'application/octet-stream',

'lha' -> 'application/octet-stream',

'lzh' -> 'application/octet-stream',

'exe' -> 'application/octet-stream',

'class' -> 'application/octet-stream',

'so' -> 'application/octet-stream',

'dll' -> 'application/octet-stream',

'oda' -> 'application/oda',

'pdf' -> 'application/pdf',

'ai' -> 'application/postscript',

'eps' -> 'application/postscript',

'ps' -> 'application/postscript',

'smi' -> 'application/smil',

'smil' -> 'application/smil',

'mif' -> 'application/vnd.mif',

'xls' -> 'application/vnd.ms-excel',

'ppt' -> 'application/vnd.ms-powerpoint',

'wbxml' -> 'application/vnd.wap.wbxml',

'wmlc' -> 'application/vnd.wap.wmlc',

'wmlsc' -> 'application/vnd.wap.wmlscriptc',

'bcpio' -> 'application/x-bcpio',

'vcd' -> 'application/x-cdlink',

'pgn' -> 'application/x-chess-pgn',

'cpio' -> 'application/x-cpio',

'csh' -> 'application/x-csh',

'dcr' -> 'application/x-director',

'dir' -> 'application/x-director',

'dxr' -> 'application/x-director',

'dvi' -> 'application/x-dvi',

'spl' -> 'application/x-futuresplash',

'gtar' -> 'application/x-gtar',

'hdf' -> 'application/x-hdf',

'js' -> 'application/x-javascript',

'skp' -> 'application/x-koan',

'skd' -> 'application/x-koan',

'skt' -> 'application/x-koan',

'skm' -> 'application/x-koan',

'latex' -> 'application/x-latex',

'nc' -> 'application/x-netcdf',

'cdf' -> 'application/x-netcdf',

'sh' -> 'application/x-sh',

'shar' -> 'application/x-shar',

'swf' -> 'application/x-shockwave-flash',

'sit' -> 'application/x-stuffit',

'sv4cpio' -> 'application/x-sv4cpio',

'sv4crc' -> 'application/x-sv4crc',

'tar' -> 'application/x-tar',

'tcl' -> 'application/x-tcl',

'tex' -> 'application/x-tex',

'texinfo' -> 'application/x-texinfo',

'texi' -> 'application/x-texinfo',

't' -> 'application/x-troff',

'tr' -> 'application/x-troff',

'roff' -> 'application/x-troff',

'man' -> 'application/x-troff-man',

'me' -> 'application/x-troff-me',

'ms' -> 'application/x-troff-ms',

'ustar' -> 'application/x-ustar',

'src' -> 'application/x-wais-source',

'xhtml' 'application/xhtml+xml',

'xht' -> 'application/xhtml+xml',

'zip' -> 'application/zip',

'au' -> 'audio/basic',

'snd' -> 'audio/basic',

'mid' -> 'audio/midi',

'midi' -> 'audio/midi',

'kar' -> 'audio/midi',

'mpga' -> 'audio/mpeg',

'mp2' -> 'audio/mpeg',

'mp3' -> 'audio/mpeg',

'aif' -> 'audio/x-aiff',

'aiff' -> 'audio/x-aiff',

'aifc' -> 'audio/x-aiff',

'm3u' -> 'audio/x-mpegurl',

'ram' -> 'audio/x-pn-realaudio',

'rm' -> 'audio/x-pn-realaudio',

'rpm' -> 'audio/x-pn-realaudio-plugin',

'ra' -> 'audio/x-realaudio',

'wav' -> 'audio/x-wav',

'pdb' -> 'chemical/x-pdb',

'xyz' -> 'chemical/x-xyz',

'bmp' -> 'image/bmp',

'gif' -> 'image/gif',

'ief' -> 'image/ief',

'jpeg' -> 'image/jpeg',

'jpg' -> 'image/jpeg',

'jpe' -> 'image/jpeg',

'png' -> 'image/png',

'tiff' -> 'image/tiff',

'tif' -> 'image/tiff',

'djvu' -> 'image/vnd.djvu',

'djv' -> 'image/vnd.djvu',

'wbmp' -> 'image/vnd.wap.wbmp',

'ras' -> 'image/x-cmu-raster',

'pnm' -> 'image/x-portable-anymap',

'pbm' -> 'image/x-portable-bitmap',

'pgm' -> 'image/x-portable-graymap',

'ppm' -> 'image/x-portable-pixmap',

'rgb' -> 'image/x-rgb',

'xbm' -> 'image/x-xbitmap',

'xpm' -> 'image/x-xpixmap',

'xwd' -> 'image/x-xwindowdump',

'igs' -> 'model/iges',

'iges' -> 'model/iges',

'msh' -> 'model/mesh',

'mesh' -> 'model/mesh',

'silo' -> 'model/mesh',

'wrl' -> 'model/vrml',

'vrml' -> 'model/vrml',

'css' -> 'text/css',

'html' -> 'text/html',

'htm' -> 'text/html',

'asc' -> 'text/plain',

'txt' -> 'text/plain',

'rtx' -> 'text/richtext',

'rtf' -> 'text/rtf',

'sgml' -> 'text/sgml',

'sgm' -> 'text/sgml',

'tsv' -> 'text/tab-separated-values',

'wml' -> 'text/vnd.wap.wml',

'wmls' -> 'text/vnd.wap.wmlscript',

'etx' -> 'text/x-setext',

'xsl' -> 'text/xml',

'xml' -> 'text/xml',

'mpeg' -> 'video/mpeg',

'mpg' -> 'video/mpeg',

'mpe' -> 'video/mpeg',

'qt' -> 'video/quicktime',

'mov' -> 'video/quicktime',

'mxu' -> 'video/vnd.mpegurl',

'avi' -> 'video/x-msvideo',

'movie' -> 'video/x-sgi-movie',

'ice' -> 'x-conference/x-cooltalk'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将大文件上传AWS S3,可以使用AWS提供的multipart上传方法。这个方法允许你将文件分成多个部分来上传,以便在网络不稳定的情况下保证上传的可靠性。以下是一个简单的Node.js示例代码: ```javascript const AWS = require('aws-sdk'); const fs = require('fs'); // AWS S3配置 const s3 = new AWS.S3({ accessKeyId: 'your_accessKeyId', secretAccessKey: 'your_secretAccessKey' }); // 文件上传配置 const uploadParams = { Bucket: 'your_bucket_name', Key: 'your_file_name', Body: '', ContentType: 'your_content_type' }; // 分块上传文件 const fileStream = fs.createReadStream('your_file_path'); fileStream.on('error', function(err) { console.log('Error:', err); }); uploadParams.Body = fileStream; const multipartUpload = new AWS.S3.ManagedUpload({ params: uploadParams, partSize: 5 * 1024 * 1024, // 分块大小,单位:字节 queueSize: 1 // 并发上传文件数量 }); multipartUpload.on('httpUploadProgress', function(progress) { console.log('Progress:', progress); }); multipartUpload.promise().then(function(data) { console.log('Success:', data); }).catch(function(err) { console.log('Error:', err); }); ``` 在上面的代码中,我们使用AWS SDK来创建S3对象,并设置了访问密钥等参数。接着,我们设置文件上传的配置参数,包括Bucket、Key、Body、ContentType等。最后,我们使用ManagedUpload类实现将文件分块上传到S3的功能,分块大小和并发上传文件数量可以根据实际需求进行调整。在上传过程中,我们可以通过httpUploadProgress事件获取上传进度信息。最后,我们使用promise()方法来等待文件上传完成,并处理上传成功或失败的结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值