1.PHP添加fileinfo扩展;
程序中使用到fileinfo相关的函数
2.Nginx配置添加cors相关配置:
云盘程序和server程序是两个域名,所以在上传的时候会涉及到跨域问题;主要是在server这边处理;
上传的时候一般会有两个请求,一个是option请求,一个是上传的post请求,需要在option请求时正常的响应,才能继续正常的上传操作,所以在配置server的ngnix环境时需要加上下列代码:
location / {
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' "*";
add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept, Authorization';
return 200;
}
}
注意,这里的add_header一定要加在 "location /"里面,否则会报错;
3.修改上传文件大小限制
文件上传最大大小为4GB,所以需要修改服务器的上传大小限制:
- ngnix管理-性能调整-client_max_body_size: 4096
- PHP 上传限制 4096MB
- server代码里面的config也需要修改最大文件大小
4.文件名中有特殊符号无法上传的问题
是因为get请求时,会将一些特殊符号(例如“+”)进行转义操作,导致两边生成的sign不匹配,导致验证失败;所以在本地生成sign之前,需要对文件名进行urldecode处理,代码如下
'name' => urldecode($file['name']),
网友评论