Bash 运行cURL以上载不带头的文件

Bash 运行cURL以上载不带头的文件,bash,shell,curl,servicenow,Bash,Shell,Curl,Servicenow,我的目标是现在将给定的文件上载到service_,我使用以下shell脚本中的代码来完成此操作。$声明值,其中SERVICENOW_API_URL=和表名为sys_attachment $ curl $SERVICENOW_API_URL?table_name=$SERVICENOW_ATTACHMENT_TABLE_NAME\&table_sys_id=$SERVICENOW_ATTACHMENT_TABLE_SYS_ID\&file_name=$UPLOAD_FILE_NAM

我的目标是现在将给定的文件上载到service_,我使用以下shell脚本中的代码来完成此操作。$声明值,其中SERVICENOW_API_URL=和表名为sys_attachment

$ curl $SERVICENOW_API_URL?table_name=$SERVICENOW_ATTACHMENT_TABLE_NAME\&table_sys_id=$SERVICENOW_ATTACHMENT_TABLE_SYS_ID\&file_name=$UPLOAD_FILE_NAME --request POST --header \"Accept:application/json\" --user $SERVICENOW_USER_NAME:$SERVICENOW_PASSWORD --header \"Content-Type\:application/json\" -F "uploadFile=@./blank.txt"
  • 每当我上传文件时,上传的文件都会添加以下类型的标题。请在我的命令中进行更改,以上载不带此标题的文件
  • 此外,当压缩文件立即上载到service_,然后从serviceNow下载回来时,无法解压缩该文件

  • 哇,用反勾号替换命令似乎可以很好地处理文本文件

     -F "uploadFile=`cat blank.txt`"
    

    哇,用反勾号替换命令似乎可以很好地处理文本文件

     -F "uploadFile=`cat blank.txt`"
    

    您可能根本不想使用
    -F
    ,但是一个普通的
    --data binary@filename
    ..@DanielStenberg,但它抛出的错误是{“error”:{“message”:“Attachment is empty”,“detail”:null},“status”:“failure”}它需要“upload”吗?我会回去检查请求应该是什么样子。如果您能弄清楚这一点并让我们知道,我们可以告诉您使用什么curl命令行来实现这一点!在我的例子中,是的,我们需要包含两个表单字段的多部分表单数据,一个实际上是文件,另一个是多行文本区域。碰巧我在一个单独的文件中有一个文本区域的内容。不幸的是,如果我用
    @
    提交这两个文件,那么头文件会混淆服务器,它会认为我发送了两个文件,而不仅仅是一个文件和一堆文本,你可能根本不想使用
    -F
    ,而是一个普通的
    --data binary@filename
    ..@DanielStenberg,但它会抛出错误为{“错误”:{“消息”:“附件是空的”,“detail”:null},“status”:“failure”}是否需要“上传””“是吗?我会回去检查请求应该是什么样子。如果您能弄清楚这一点并让我们知道,我们可以告诉您使用什么curl命令行来实现这一点!在我的例子中,是的,我们需要包含两个表单字段的多部分表单数据,一个实际上是文件,另一个是多行文本区域。碰巧我在一个单独的文件中有一个文本区域的内容。不幸的是,如果我用
    @
    提交这两个文件,那么头文件会混淆服务器,它会认为我发送了两个文件,而不仅仅是一个文件和一堆文本