云盘程序server搭建备忘

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']),

你可能感兴趣的:(云盘程序server搭建备忘)