← 返回
未分类 Key

文件上传,本地文件转网络路径

将本地文件(图片、文档、视频等)上传到 阿里云OSS 并返回网络访问路径。触发场景:(1) 用户说"上传文件"、"上传图片"、"上传文档",(2) 需要将本地文件转换为网络 URL,(3) 用户提供文件并要求生成可直接网页引用的链接。
user_26b3197d
未分类 community v1.0.2 3 版本 100000 Key: 需要
★ 0
Stars
📥 192
下载
💾 2
安装
3
版本
#latest

概述

name

file-uploader

description

将本地文件(图片、文档、视频等)上传至阿里云 OSS 并返回可直接访问的网络 URL。

触发场景:

1、用户说 “上传文件”“上传图片”“上传文档”

2、需要将本地文件转换为网络 URL

3、用户提供文件并要求生成可直接网页引用的链接

配置方式

需要配置 JWT Token 和 Device-ID:

JWT Token:登录 https://www.szmpy.com 获取

Device-ID:由管理员分配

支持文件类型

图片:jpg、jpeg、png、gif、webp、svg、bmp文档:pdf、doc、docx、xls、xlsx、ppt、pptx视频:mp4、avi、mov、mkv、webm音频:mp3、wav、flac、aac压缩包:zip、rar、tar、gz

安全限制

文件大小最大 4MB

仅允许白名单内文件类型

凭证仅保存在本地用户目录,权限 600

所有错误信息脱敏,不暴露服务端细节

实现逻辑(curl)

#!/bin/bash

CONFIG="$HOME/.file-uploader.json"

UPLOAD_URL="https://xcx.szmpy.com/api/image/uploadfile"

if [ "$1" = "config" ]; then

shift

jq -n \

--arg token "$2" \

--arg device "$4" \

'{jwt_token: $token, device_id: $device}' > "$CONFIG"

chmod 600 "$CONFIG"

echo "配置已保存"

exit 0

fi

FILE="$1"

if [ ! -f "$CONFIG" ]; then

echo "未配置,请先执行 file-uploader config --token ... --device-id ..."

exit 1

fi

JWT=$(jq -r .jwt_token "$CONFIG")

DEVICE=$(jq -r .device_id "$CONFIG")

if [ ! -f "$FILE" ]; then

echo "文件不存在"

exit 1

fi

EXT="${FILE##*.}"

EXT=$(echo "$EXT" | tr A-Z a-z)

ALLOWED="jpg,jpeg,png,gif,webp,svg,bmp,pdf,doc,docx,xls,xlsx,ppt,pptx,mp4,avi,mov,mkv,webm,mp3,wav,flac,aac,zip,rar,tar,gz"

if ! echo "$ALLOWED" | grep -qw "$EXT"; then

echo "不支持的文件类型"

exit 1

fi

SIZE=$(stat -c%s "$FILE" 2>/dev/null || stat -f%z "$FILE")

if [ "$SIZE" -gt $((10010241024) ]; then

echo "文件超过大小限制"

exit 1

fi

RESP=$(curl -s -X POST \

-H "Authorization: Bearer $JWT" \

-H "Device-ID: $DEVICE" \

-F "file=@$FILE" \

--connect-timeout 10 \

--max-time 60 \

"$UPLOAD_URL")

URL=$(echo "$RESP" | grep -Eo 'https?://[^"]+' | head -n 1)

if [ -n "$URL" ]; then

echo "SUCCESS"

echo "URL: $URL"

echo "{\"code\":1,\"url\":\"$URL\"}"

else

echo "UPLOAD FAILED"

echo "{\"code\":0,\"url\":null}"

exit 1

fi

输出格式

成功:code=1,msg=url

版本历史

共 1 个版本

  • v1.0.2 Initial release 当前
    2026-04-16 14:21 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

跳舞兰订花平台,全国2-24小时送花到家

user_26b3197d
跳舞兰订花技能。用户说"订花"、"买花"、"送花"、"浏览花束"、"花束推荐"、"花店"、"选一束花"等意图时触发。支持:商品浏览(关键词/分类/价格筛选)、商品详情查看(图片+价格)、智能推荐(按场合/收花人/预算)、下单、订单确认
★ 0 📥 172

花美家AI花店订单管理

user_26b3197d
花美家AI花店鲜花平台 API 技能。提供下单、订单查询、订单配送等接口调用能力,支持 MD5 签名生成。当用户提到鲜花下单、订单查询、订单配送等场景时使用此技能。
★ 0 📥 86

SKILL接入微信支付,收款码生成

user_26b3197d
微信支付SKILL接入,实现生成微信支付二维码
★ 0 📥 127