サイズ変更にpluploadとphpクラスを使用していますhttp://www.verot.net/php_class_upload_docs.htm
すべてうまくいきますが、250kb しかない 4000x2000 ピクセルの大きなファイルをアップロードすると、アップロードに失敗します。サイズ変更のクラスには、最大幅と高さのオンリメーターがありますが、NULL に設定されているため、アップロードのキャンセルが発生するかどうかをチェックしていません。
AJAXハンドラーの私のコードはこれです。
$foo = new Upload($_FILES['file']);
if ($foo->uploaded)
{
$new_name = functions::getRandomString(16);
$foo->file_new_name_body = 'b_' . $new_name;
if ($foo->image_src_x > 800 or $foo->image_src_y > 600)
{
$foo->image_resize = true;
$foo->image_ratio = true;
$foo->image_y = 600;
$foo->image_x = 800;
}
$foo->image_convert = 'png';
$foo->Process($upload_path);
if ($foo->processed)
{
//echo 'image renamed "foo" copied';
}
else
{
die('{"jsonrpc" : "2.0", "error" : {"code": 101, "message": "Chyba prejmenovani."}, "id" : "id"}');
}
そしてjquery
$("#uploader").pluploadQueue({
// General settings
runtimes : 'html5,html4',
url : '/core/ajax/ajax_upload.php',
max_file_size : '10mb',
chunk_size : '5mb',
unique_names : true,
/*
resize : {width : 320, height : 240, quality : 90},
*/
// Specify what files to browse for
filters : [
{
title : "Image files",
extensions : "jpg,jpeg,gif,png"
}]
});
この具体的なファイル アップロード セッションの JSON 応答
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>500 Internal Server Error</title>
</head><body>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error or
misconfiguration and was unable to complete
your request.</p>
<p>Please contact the server administrator,