您的位置:首页 > 文旅 > 旅游 > 使用Shell脚本,实现对文件夹里文件上传Post接口操作

使用Shell脚本,实现对文件夹里文件上传Post接口操作

2024/12/26 21:41:22 来源:https://blog.csdn.net/a_beiyo/article/details/140777174  浏览:    关键词:使用Shell脚本,实现对文件夹里文件上传Post接口操作
#!/bin/bash# 遍历的文件夹目录,这里假设文件夹在当前目录下的folder目录中
FOLDER_DIR="./folder"# POST接口的URL
POST_URL="https://example.com/upload"# 遍历文件夹
for folder in "$FOLDER_DIR"/*; doif [ -d "$folder" ]; then# 获取文件夹名称(身份证号码)folder_name=$(basename "$folder")echo "处理文件夹: $folder_name"# 遍历文件夹中的图片和语音文件for file in "$folder"/*.{jpg,png,gif,mp3,wav}; doif [ -f "$file" ]; thenecho "上传文件: $file"# 使用curl命令上传文件到POST接口curl -X POST -F "file=@$file" -F "folder_name=$folder_name" $POST_URLecho "上传完成"fidonefi
done

解释脚本:

  1. 变量设置

    • FOLDER_DIR:指定包含所有身份证号码命名的文件夹的目录路径。
    • POST_URL:目标POST接口的URL。
  2. 遍历文件夹

    • 使用 for folder in "$FOLDER_DIR"/*; do 循环遍历每个文件夹。
  3. 处理每个文件夹

    • 获取文件夹的名称(即身份证号码)。
    • 遍历文件夹中的所有图片和语音文件。
  4. 上传文件

    • 对于每个符合条件的文件,使用 curl 命令进行POST请求,将文件上传到指定的POST接口。
    • -F "file=@$file":指定要上传的文件。
    • -F "folder_name=$folder_name":传递文件所在的文件夹名称(身份证号码)作为参数。
  5. 输出信息

    • 打印出上传的文件信息和状态。

注意事项:

  • 脚本中假设文件夹名称是唯一的身份证号码,且文件夹中的文件格式为jpg、png、gif、mp3或wav。
  • 请根据实际情况修改FOLDER_DIRPOST_URL的值。
  • 确保目标POST接口允许通过curl命令上传文件,需要适当的认证和权限设置。

这个脚本可以根据实际需求进行修改和扩展,以符合具体的使用场景和文件类型。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com