Linux curl 上传文件怎么写?

10次阅读

curl 上传文件最常用方式是用 - F 参数以 multipart/form-data 格式提交:单文件为 curl -F “file=@example.txt” URL;多文件可重复 - F 或同名字段;支持附加字段和自定义请求头。

Linux curl 上传文件怎么写?

使用 Linux 的 curl 上传文件,最常见的是通过 HTTP/HTTPS 协议向服务器发送一个 POST 请求,并将文件作为表单数据(multipart/form-data)提交。下面是一些常用的写法。

基本语法:上传单个文件

假设你要上传的文件是 example.txt,目标 URL 是 https://example.com/upload,服务器接收字段名为 file

curl -F “file=@example.txt” https://example.com/upload

说明:

  • -F 表示以 multipart/form-data 格式发送数据,模拟 表单提交
  • file= 是服务器端接收的参数名,根据接口要求填写。
  • @example.txt 表示上传本地文件 example.txt,@ 符号告诉 curl 要读取文件内容。

上传多个文件

如果要同时上传多个文件,可以多次使用 -F:

curl -F “file1=@a.txt” -F “file2=@b.jpg” https://example.com/upload

也可以指定同一个字段名上传多个文件(适用于支持数组的 后端):

curl -F “files=@a.txt” -F “files=@b.jpg” https://example.com/upload

添加额外字段(如 token 或描述信息)

很多接口需要认证或附加参数:

curl -F “file=@example.txt” -F “token=abc123” -F “desc=test file” https://example.com/upload

这些字段会和文件一起作为表单数据发送。

指定自定义请求头

比如需要添加认证头:

curl -H “Authorization: Bearer abc123” -F “file=@example.txt” https://example.com/upload

查看详细信息(调试用)

加上 -v 参数查看通信过程:

curl -v -F “file=@example.txt” https://example.com/upload

基本上就这些常用方式。关键是搞清楚服务器期望的字段名、是否需要认证、是否支持多文件等。不复杂但容易忽略细节。

text=ZqhQzanResources