Bash 运行cURL以上载不带头的文件
我的目标是现在将给定的文件上载到service_,我使用以下shell脚本中的代码来完成此操作。$声明值,其中SERVICENOW_API_URL=和表名为sys_attachmentBash 运行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
$ 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"
哇,用反勾号替换命令似乎可以很好地处理文本文件
-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命令行来实现这一点!在我的例子中,是的,我们需要包含两个表单字段的多部分表单数据,一个实际上是文件,另一个是多行文本区域。碰巧我在一个单独的文件中有一个文本区域的内容。不幸的是,如果我用@
提交这两个文件,那么头文件会混淆服务器,它会认为我发送了两个文件,而不仅仅是一个文件和一堆文本