今天就跟大家聊聊有关bash怎样实现S3文件上传,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
成都创新互联公司专注于企业成都营销网站建设、网站重做改版、怀仁网站定制设计、自适应品牌网站建设、HTML5、商城开发、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为怀仁等各大城市提供网站开发制作服务。
#!/bin/bash ACCESS_KEY="" SECRET_KEY="" HOST="s3.demo.com" BUCKET="demo" CONTENT_TYPE="application/octet-stream" FILENAME=/tmp/demo ACL="x-amz-acl:public-read" META_DATA="x-amz-meta-ukey:value" FILESIZE=$(stat -c%s "$FILENAME") FILEMD5=`cat ${FILENAME}| openssl dgst -md5 -binary | openssl enc -base64` AUTH_PATH="/${BUCKET}${FILENAME}" CURRENT_TIME=`TZ=GMT LANG=en_US date "+%a, %d %b %Y %H:%M:%S GMT"` stringToSign="PUT\n${FILEMD5}\n${CONTENT_TYPE}\n${CURRENT_TIME}\n${ACL}\n${META_DATA}\n${AUTH_PATH}" signature=`echo -en ${stringToSign} | openssl sha1 -hmac ${SECRET_KEY} -binary | base64` curl -s -v -X PUT "http://${HOST}${AUTH_PATH}" \ -H "Authorization: AWS ${ACCESS_KEY}:${signature}" \ -H "Date: ${CURRENT_TIME}" \ -H "Host: ${HOST}" \ -H "Content-Length: ${FILESIZE}" \ -H "Content-MD5: ${FILEMD5} " \ -H "Content-Type: ${CONTENT_TYPE} " \ -H "${ACL} " \ -H "${META_DATA} " \ -T "${FILENAME}"
看完上述内容,你们对bash怎样实现S3文件上传有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。