plupload
以下のコードでファイルをアップロードすると、 firebug コンソールにPOST /uploads 200 OK 8192msというメッセージが表示されます。文字の色は赤です。ターミナル出力を見ると、Completed 200 OK in 7653ms があります。
var uploader = new plupload.Uploader({
runtimes: 'gears,html5,flash,silverlight,browserplus',
browse_button: 'pickfiles',
autostart : true,
max_file_size: '10mb',
url: '/uploads',
resize: { width: 320, height: 240, quality: 90 },
flash_swf_url: '/Scripts/pl/plupload.flash.swf',
silverlight_xap_url: '/Scripts/pl/plupload.silverlight.xap',
filters: [
{ title: "Image files", extensions: "jpg,gif,png" },
{ title: "Zip files", extensions: "zip" }
]
});
uploader.bind('Init', function (up, params) {
$('#filelist')[0].innerHTML = "<div>Current runtime: " + params.runtime + "</div>";
});
uploader.bind('Error', function (up, err) {
$('#filelist').append("<div>Error: " + err.code +
", Message: " + err.message +
(err.file ? ", File: " + err.file.name : "") +
"</div>"
);
});
uploader.bind('FilesAdded', function (up, files) {
for (var i in files) {
$('#filelist')[0].innerHTML += '<div id="' + files[i].id + '">' + files[i].name + ' (' + plupload.formatSize(files[i].size) + ') <b></b></div>';
}
//uploader.start();
});
$('#uploadfiles').click(function (e) {
uploader.start();
e.preventDefault();
});
uploader.bind('UploadProgress', function (up, file) {
$('#' + file.id)[0].getElementsByTagName('b')[0].innerHTML = '<span>' + file.percent + "%</span>";
});
uploader.init();
Uploadsコントローラーでは、アクションcreateは次のようになります。
def create
@upload = Upload.new(:upload => params[:file])
if @upload.save
head 200
#redirect_to '/users'
else
render :action => "new"
end
end
任意のページにリダイレクトするにはどうすればよいですか? ご覧のとおり、ページusersへのアップロードが完了した後にリダイレクトを試みましたが、残念ながら何も起こりませんでした。createアクションの行にある場合は、head 200
何も起こりません。
アップロードが完了した後、他のページにリダイレクトするにはどうすればよいですか? グーグルで検索してみましたが、方法が見つかりませんでした...
まだお聞きしたいのですが、ファイルをアップロードした後、常に Firebug コンソールにPOST /uploads 200 OKという行がログ メッセージなしで表示されるのはなぜですか?