で作成した画像ドロップ場所がいくつかありますhtml5
。画像が解析されてデータに変換される (そして でエンコードされるbase64
) と、そのデータを取得し、post 経由で php ファイルに送信します。
localhost では、そのbase64
文字列は php ファイルで完全に受信されます。ただし、サーバーに移動すると、画像の前処理とbase64
サーバーへの送信の両方が機能します(ヘッダーを読み取ります)が、phpファイルにある場合、そのbase64
文字列はもう存在しません。不足しているものはありますか?
追加情報:
- 文字列を URL エンコードしません。そうしないとローカルで機能し、サーバーがまだデータを取得できないため
base64
です。 - 私は超えていません
post_max_size
(8M
私の場合、まだbase64
文字列と他のデータの重みは約50kb
)
ニュース速報
600kbのデータをアップロードしようとしました。サーバーはこれを要求します:
<html><head>
<title>413 Request Entity Too Large</title>
</head><body>
<h1>Request Entity Too Large</h1>
The requested resource<br />/altmail/admin/calls/ajax.previewnewsletter.php<br />
does not allow request data with POST requests, or the amount of data provided in
the request exceeds the capacity limit.
</body></html>
繰り返しpost_max_size
ますが、十分な大きさです。
速報2
反対に、38x38、220bytes の写真をアップロードしたら、正しくアップロードされました。