ユーザーがファイルアップロードコントロールを使用して画像をアップロードし、サイズを変更してサーバー上のファイルシステムに保存するギャラリーを作成しようとしています。jpg、png、gif ファイルをアップロードできます。
アップロードしてサイズを確認する手順は知っていますが、これは非効率的です。メモリストリームについて聞いたことがありますが、使い方がわかりません。
ありがとう...
完全なファイルがサーバー側にあるまで、画像のサイズを変更することはできません。
はい、非効率的ですが、それが Web の現実です。唯一の代替手段は、クライアント側のコード (activex、silverlight、flash) を使用することですが、これはおそらく良い方法ではありません。
このコードで試すことができます - 指定されたサイズはキロバイト単位です。デフォルトは 4096 KB (4 MB) です。
if (FileUpload1.HasFile)
{
if (FileUpload1.PostedFile.ContentLength < yourSize) //Adjust your size
{
.........
}
else
{
Label1.Text = "File size exceeds maximum limit 20 MB.";
}
}
デフォルトでは、最大アップロードは 4MB です (.Net を使用) - を使用してリセットできます
<httpRuntime executionTimeout="sss" maxRequestLength="xxxx" />
しかし、分かりやすいエラーメッセージがめったに取り上げられない (つまり、適切なメッセージがない) ため、これは本当にやっかいな方法です。アップロードで ContentLength を使用しても、HTTPRunTime を超えると失敗します。Microsoft は、より大きな httRuntime 値を使用し、次に ContentLength で制限することを提案しています (両方を破ると厄介なエラーが発生します - 通常)。
別のオプションは、次のようなものを使用することです ==> Ajax Uploader