zoukankan      html  css  js  c++  java
  • Linux系统下curl命令上传文件,文件名包含逗号无法上传

    使用curl命令,将备份好的图片全部重新导入到seaweedfs,图片全部以存储在seaweedfs中的fid命令,

    fid中间有一个逗号,使用curl命令时报错:

    curl: (26) couldn't open file "6"

    curl命令:

    curl -X PUT -F "fileUpload=@6,f6f7219fc0" "http://192.168.0.168:8180/6,f6f7219fc0"

    其中,http://192.168.0.168:8180是seaweedfs启动的volume server.

    解决办法:

    使用双引号包含文件名,并开启转义;

    curl -X PUT -F "fileUpload=@"6,f6f7219fc0"" "http://192.168.0.168:8180/6,f6f7219fc0"

    导入脚本:

    #!/bin/bash

    if [ $# -ne 1 ];then
    echo "[ Error ] Plead pass the image directory !"
    exit 1
    fi

    ls -alt $1 | awk '{print $9}' | while read line
    do
      if [[ $line != "." && $line != ".." ]];then
        if [ $( echo $line | grep "," | wc -l) -eq 1 ];then
          file_path="$1/$line"
          curl -X PUT -F "fileUpload=@"${file_path}"" "http://192.168.0.168:8180/${line}"
          echo $file_path
          echo "---------------------------------------------------------------"
        fi
      fi
    done

    图片存储路径: /home/weedfs/20171222

    调用命令: sh upload.sh /home/weedfs/20171222

  • 相关阅读:
    VS2010和VS2015的Dll项目
    Umbraco遇到的问题解决
    EF Code first 和 DDD (领域驱动设计研究)系列一
    Gulp的学习和使用
    .Net开发中的@ 和 using 使用技巧
    异常基础
    正则表达式
    常用类
    泛型设计中<T> 和<E>的区别
    各个服务器启动命令
  • 原文地址:https://www.cnblogs.com/ralphdc/p/8093947.html
Copyright © 2011-2022 走看看