0
  1. 当我上传文件时,浏览器如何获取文件的大小,并计算总大小(内容长度),并确保它是准确的。
  2. Nginx 可以限制文件大小,例如 1M,1M 中究竟包含什么,HTTP 全字节?一种形式的所有信息?还是一种形式的最大文件(例如,一种形式包括 3 种文本类型和一种文件类型)?Nginx 是通过 Content-length 还是文件的属性来判断的?

  3. 如何通过后缀限制文件大小,例如 JPG 5M 以下,MP4 20M 以下,ZIP 100M 以下

4

1 回答 1

0
  1. 当我上传文件时,浏览器如何获取文件的大小,并计算总大小(内容长度),并确保它是准确的。

此信息来自操作系统,即文件系统。浏览器并没有真正验证它是否准确,但如果底层文件系统失败,那么 HTTP 请求也可能会失败。

  1. Nginx 可以限制文件大小,例如 1M,1M 中究竟包含什么,HTTP 全字节?一种形式的所有信息?还是一种形式的最大文件(例如,一种形式包括 3 种文本类型和一种文件类型)?Nginx 是通过 Content-length 还是文件的属性来判断的?

多部分请求正文具有Content-Length将所有内容添加在一起的标头。Nginx 不在乎它是多部分的,如果你基于Content-Length.

如何通过后缀限制文件大小

我不知道该怎么做,但我只是提醒您注意,您并不真正知道该文件中的内容,尤其是基于其名称/后缀。文件名应仅被视为类型提示。标题Content-Type应该是一个更强的提示,但仍然不能保证。

于 2019-12-27T07:08:11.660 回答