简单了解常见的文件

7 阅读2分钟

一、从操作系统角度

操作系统里常见的文件类型包括:

类型说明举例
普通文件(Regular File)存储数据、文字、图片、可执行程序等.txt, .jpg, .exe, .py, .pdf
目录文件(Directory)存储文件列表和结构信息/home/, /usr/, C:\Program Files\
链接文件(Link)指向其他文件的引用(硬链接、软链接)Linux 下的 .lnk, symlink
设备文件(Device File)代表硬件设备的接口/dev/null, /dev/sda, /dev/tty
套接字文件(Socket)进程间通信用文件/var/run/docker.sock
管道文件(FIFO / Pipe)支持进程间通信的通道/tmp/myfifo

二、从网络/前后端传输角度

浏览器上传的“文件”其实是通过 HTTP 请求封装的二进制数据。 常见形式:

场景数据类型示例
表单上传(HTML form)multipart/form-dataContent-Disposition: form-data; name="file"; filename="a.pdf"
API 上传(JS/Fetch)FormDataBlobfetch("/upload", {body: formData})
Base64 上传application/json{"file": "data:application/pdf;base64,..."}
分片上传多个 HTTP 分片,后端重组大文件上传、视频断点续传

每个文件通常具备以下属性:

属性说明示例
filename文件名report.pdf
content_typeMIME 类型application/pdf, image/png
size文件大小2.3 MB
content文件的二进制内容(bytes)b'%PDF-1.7...'
path临时或保存路径/tmp/upload_xxx.pdf
encoding文件编码(文本类)utf-8
last_modified修改时间2025-10-20 14:22:01
checksum校验值md5, sha256

三、从后端程序(Python/Agno)角度

在服务端(如使用 Agno、FastAPI、Flask)中,接收到的文件通常是以下几种对象:

框架文件对象类型示例代码
FastAPIUploadFilefile: UploadFile = File(...)
FlaskFileStoragerequest.files['file']
DjangoInMemoryUploadedFilerequest.FILES['file']

这些对象内部通常包括:

  • 文件名 (filename)
  • MIME 类型 (content_type)
  • 原始二进制内容 (content)
  • 临时文件路径(有时存在磁盘缓存)

四、从存储与管理角度

文件最终会被保存或处理,常见形式:

存储方式用途示例
本地磁盘临时文件、缓存/tmp/upload.pdf
对象存储大文件、云端资源AWS S3, 阿里云 OSS
数据库存储元数据或小型 Base64 文件MySQL, MongoDB
CDN 分发图片/视频访问优化Cloudflare, 七牛云