かなり広範囲にわたる質問があります....UploadProgress Moduleがどのように機能するのか理解できません。また、私にとっても機能しないので、...。
1)すべてのアップロードモジュール(nginx、nginx-extras)、およびphp-fpmとともにnginxをインストールしました
2)これはプロジェクトのnginx構成の一部です:
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME /home/cha0s/learnphp$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
track_uploads proxied 1m;
}
location ~ ^/files/(.*)$ {
alias /home/cha0s/$1;
internal;
}
location ^~ /progress {
# report uploads tracked in the 'proxied' zone
report_uploads proxied;
}
3)このページの下部にあるチュートリアルに従いました:http ://wiki.nginx.org/HttpUploadProgressModule :
だから私はフォームを持っていて、プログレスバーをアップロードします:
<form id="upload" enctype="multipart/form-data" action="index.html" method="post">
<input name="file" type="file"/>
<input type="submit" value="Upload"/>
</form>
<div id="uploading">
<div id="progress" class="bar">
<div id="progressbar"> </div>
<div id="percents"></div>
</div>
</div>
jqueryスクリプトをトリガーするJSコード:
<script type="text/javascript">
$(document).ready(function(){
$('form').uploadProgress({
/* scripts locations for safari */
jqueryPath: "/static/js/jquery.js",
uploadProgressPath: "/static/js/jquery.uploadProgress.js",
/* function called each time bar is updated */
uploading: function(upload) {$('#percents').html(upload.percents+'%');},
/* selector or element that will be updated */
progressBar: "#progressbar",
/* progress reports url */
progressUrl: "/progress",
/* how often will bar be updated */
interval: 2000
}
});
</script>
そしてそのスクリプト: https ://github.com/drogus/jquery-upload-progress/blob/master/jquery.uploadProgress.js
質問と問題:
1)最初の問題は、私が常に返されることです({"state": "starting"}); ..。
2)2番目の質問は:私がこれを機能させようとした理由は、ファイルをチャンクにスライスしてサーバーに送信するphpスクリプトを書きたかったので、巨大なファイルをアップロードして、それを監視するためのプログレスバー。しかし、phpとupload_progress_moduleまたはw/eを使用してそれを実行する方法の最小の例やチュートリアルを見つけることさえできませんでした。
いいえ、フラッシュベースのアップローダーは必要ありません。
だから私は、あなたは私が混乱していることをすでに理解していると思います。だから、私がこれをどのように行うことができるかを説明できれば、既存の構成の問題を解決するのに役立つでしょう