上传文件至阿里云 OSS(实现文件中转站)

需求:工作中经常需要传输文件,某些场景只支持https链接进行下载,故需要一个下载速度快、文件链接为https、长期稳定的文件中转站。

实现:经过分析,阿里云 OSS 正好满足;

此脚本实现上传文件到阿里云OSS(使用阿里云ossutil工具进行上传),并获取文件下载地址;

使用前需先安装并配置 ossutil 工具

ossutil 参考文档:https://help.aliyun.com/zh/oss/developer-reference/ossutil-1/arrow-up-right

upload.sh(使用前需先安装配置ossutil,见后方步骤)

#!/bin/bash

COLOR_MAGENTA="\E[0;35m"
COLOR_RED="\E[0;31m"
COLOR_RESET="\E[0m"

OSS_BUCKET="yunwei361"
OSS_ENDPOINT="oss-cn-chengdu.aliyuncs.com"

OSS_DIR="ws"
LOCAL_FILE_PATH="$1"
OSS_OBJECT_PATH="${OSS_DIR}/$(basename $1)"

# check args
if [ "$#" -ne 1 ]; then
  echo -e "${COLOR_RED}Useage: upload /path/filename${COLOR_RESET}"
  exit 1
fi

if [ ! -f "$1" ]; then
  echo -e "${COLOR_RED}Error: Only support upload a regular file!${COLOR_RESET}"
  exit 2
fi


# use ossutil upload file & set acl public-read
ossutil cp "$LOCAL_FILE_PATH" "oss://$OSS_BUCKET/$OSS_OBJECT_PATH" --force --acl public-read


# check succeed or failed
if [ $? -eq 0 ]; then
  echo -e "\nDownload URL:\n${COLOR_MAGENTA}https://${OSS_BUCKET}.${OSS_ENDPOINT}/${OSS_OBJECT_PATH}${COLOR_RESET}\n"
else
  echo -e "\n${COLOR_RED}:( Upload failed !${COLOR_RESET}\n"
fi

赋可执行权限

install-ossutil.sh(安装 ossutil, 此脚本只适用于x86机器)

配置 ossutil

Last updated