WEB 上传文件还有哪些地方限制了文件大小?

2017-07-08 18:18:02 +08:00
 MrMike

文件上传的插件用的是 dropzone.js ,服务器的处理语音是 php,服务器环境是 centos 7 + apache2 + php 5.6,php 框架用的是 symfony。 在上传大文件时,经过测试 250M 的 zip 文件是可以上传的,280M 的文件就上传失败,在 request 里面,files 为空。 php.ini 里面的 upload_max_filesize 和 post_max_size 都设置成了 2048M. 在 Dropzone.js 里面的 maxFilesize 也设置成了 4048M。 apache 里面,max_execution_time 和 max_input_time 都设置成了 3600.

请教下,还有哪些地方限制了 web 端文件上传的大小?

3341 次点击
所在节点    JavaScript
32 条回复
loading
2017-07-08 19:12:01 +08:00
系统的临时文件所在分区大小。
Showfom
2017-07-08 20:48:25 +08:00
楼上正解

还有浏览器也有限制,早期的浏览器最多只能传 4GB
zjsxwc
2017-07-08 20:57:23 +08:00
大文件推荐文件切片断点续传
MrMike
2017-07-08 21:52:09 +08:00
@loading
@Showfom 感谢指教。
MrMike
2017-07-08 21:56:15 +08:00
@zjsxwc 有相关的插件推荐么。谢谢。
MrMike
2017-07-08 22:42:23 +08:00
@loading

Filesystem Size Used Avail Use% Mounted on
/dev/vda1 158G 69G 81G 46% /
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 8.4M 3.9G 1% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
tmpfs 783M 0 783M 0% /run/user/1000

tmp 空间已经足够吧。。
MrMike
2017-07-08 22:59:17 +08:00
是这个服务器:

Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 16G 22G 43% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 8.3M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
tmpfs 380M 0 380M 0% /run/user/1001
tadtung
2017-07-08 23:14:55 +08:00
文件上传大小 和你是否用 dropzone.js 没多大关系,,,主要还是 php apache 或者 nginx 的设置。
LimitRequestBody 有修改?

具体看你的错误日志。
正常情况下,,普通的 vps 或者独服 通过 web 上传 2g 以下文件一般都不会出问题的。
MrMike
2017-07-08 23:32:39 +08:00
@tadtung 服务器没有报错的记录的。可能跟楼上的朋友说的一样是临时文件大小,但是查了服务器可用空间,都应该足够了的。
l9rw
2017-07-08 23:39:31 +08:00
oott123
2017-07-09 00:46:40 +08:00
Apache 好像有个叫 LimitRequestBody 的配置
MrMike
2017-07-09 01:08:22 +08:00
@oott123 设置了,还是一样的问题。谢谢。
zjsxwc
2017-07-09 05:09:55 +08:00
@MrMike

github 上很多,比如这个台湾人写的 https://github.com/recca0120/upload
MrMike
2017-07-09 09:26:06 +08:00
@zjsxwc 看来跟用哪个插件上传没关系了。换了上传的插件,问题还是一样的。
MrMike
2017-07-09 09:26:47 +08:00
@tadtung 我将 LimitRequestBody 设置成了 0,还是不行。
MrMike
2017-07-09 10:40:31 +08:00
@loading
@Showfom 方便看下么,我的服务器空间从数据上看,应该是足够的了。
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 16G 22G 43% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 8.3M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
tmpfs 380M 0 380M 0% /run/user/1001


@zjsxwc
@l9rw 换了插件,还是没解决问题,应该跟使用的上传插件无关了。
zjsxwc
2017-07-09 10:48:08 +08:00
@MrMike #14 上传普通的小文件也有问题? (震惊脸
newghost
2017-07-09 11:20:10 +08:00
估计是 tomcat 或 nginx 的上传文件大小限制,改下配置就好了
MrMike
2017-07-09 11:36:57 +08:00
@zjsxwc 对的。用 firebug 看到的数据:
267.8 mb 的文件:

+files: FileBag {#12
#parameters: []
}

133.8 mb 的文件:

+files: FileBag {#12
#parameters: array:1 [
"file" => UploadedFile {#13
-test: false
-originalName: "Archive 2 copy 2.zip"
-mimeType: "application/zip"
-size: 140260369
-error: 0
path: "/home/tmp"
filename: "phppJbk9d"
basename: "phppJbk9d"
pathname: "/home/tmp/phppJbk9d"
extension: ""
realPath: "/home/tmp/phppJbk9d"
aTime: 2017-07-09 11:04:05
mTime: 2017-07-09 11:35:41
cTime: 2017-07-09 11:35:41
inode: 1059368
size: 140260369
perms: 0100600
owner: 48
group: 48
type: "file"
writable: true
readable: true
executable: false
file: true
dir: false
link: false
}
]
}
MrMike
2017-07-09 11:37:50 +08:00
@newghost 我在 apache 里面添加了 LimitRequestBody 2097152000
重新加载 apache 后,问题还是一样的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/373960

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX