我嘗試使用Tus.IO,但調試起來很複雜。在symfony2網站中集成PhpTus
我會在我的網站與FPM模式Symfony2.8/Apache2.4/PHP5.6由PHP的土族服務器集成。
這裏是我的Apache虛擬主機(我不是在網站上的根,但在/上傳子文件夾):
<VirtualHost *:80> ServerAdmin [email protected] # DocumentRoot /var/www/hebergementbcdi_upload/web Alias /upload /var/www/hebergementbcdi_upload/web <Directory "/var/www/hebergementbcdi_upload/web"> <IfModule mod_proxy_fcgi.c> <Files ~ (\.php$)> SetHandler "proxy:fcgi://127.0.0.1:9000" </Files> </IfModule> Header set Access-Control-Allow-Origin http://10.133.169.137 Header set Access-Control-Allow-Headers "Authorization" AllowOverride All Allow from All Options -Includes -ExecCGI </Directory> </VirtualHost>
我已經通過作曲家部署PhpTus在供應商文件夾中。
我已配置的routing.yml像下面
upload_tus_io: 路徑:/ hebergeurs/V1/upload_tus 默認:{_controller:UploadBcdiBundle:上載:uploadTusIO}
我已經創建控制器這樣
* Url : /hebergeurs/V1/upload_tus * * @param Symfony\Component\HttpFoundation\Request $request Requête http en cours. * * @return Symfony\Component\HttpFoundation\Response $response Réponse http au format JSON */ public function uploadTusIOAction(Request $request) { $upload_data_path = $this->getParameter('upload_data_path'); // Create and configure server $server = new \PhpTus\Server($upload_data_path, '/hebergeurs/V1/upload_tus', array('prefix' => 'php-tus') ); // Run server $response = $server->process(true); }
在客戶端,我使用土族上傳(Python客戶端)是這樣的:
土族上傳DATA.zip http://10.133.169.138/upload/hebergeurs/V1/upload_tus --chunk大小256000 --header授權 '富'
,但我這個錯誤:
[2017-03-03 16:50:00,551] INFO Creating file endpoint Traceback (most recent call last): File "/usr/local/bin/tus-upload", line 11, in load_entry_point('tus.py==1.2.0', 'console_scripts', 'tus-upload')() File "/usr/local/lib/python2.7/dist-packages/tus.py", line 83, in _cmd_upload metadata=args.metadata) File "/usr/local/lib/python2.7/dist-packages/tus.py", line 162, in create raise TusError("Create failed: %s" % response) tus.TusError: Create failed:
你有idead 。
此致敬禮。