- 追加された行はこの色です。
- 削除された行はこの色です。
[[Open棟梁>https://github.com/OpenTouryoProject]] wiki
「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。
-[[戻る>アプリケーション設計のポイント]]
-[[戻る>アップロード・ダウンロード]]
*目次 [#o07f733a]
#contents
*概要 [#l965ca7e]
.NETによるファイルのアップロード処理
*詳細 [#l19110c4]
-ブラウザからアップロードする場合は、<INPUT type="file">を使用する。
-これによりwwwブラウザからHTTPの~
マルチパートメッセージボディを使用して~
ファイルをアップロードすることが可能である。
-サーバ側ではHttpPostedFileクラスのメソッドを使用して、~
受信したファイル データをファイルに保存する~
(マルチパートメッセージボディは、~
複数ファイルのアップロードに対応している)。
**クライアント毎のアップロード処理 [#fa6a5359]
***ブラウザからアップロード [#e8452537]
-@IT > Insider.NET > .NET TIPS > [ASP.NET]~
ブラウザからファイルをアップロードできるようにするには?~
http://www.atmarkit.co.jp/fdotnet/dotnettips/321uploadform/uploadform.html
--[ASP.NET]バイナリ・データをアップロードしてデータベースに登録するには?~
http://www.atmarkit.co.jp/fdotnet/dotnettips/253aspdbbinary/aspdbbinary.html
--[ASP.NET]アップロードされたファイルをPostedFileプロパティにより取得するには?~
http://www.atmarkit.co.jp/fdotnet/dotnettips/322postedfile/postedfile.html
***.NETからアップロード [#t3eb88ca]
アップロードの.NET実装は以下の様になる。
protected string UOC_btnMButton1_Click(FxEventArgs fxEventArgs)
{
HttpPostedFile posted = Request.Files["userfile"];
if (posted.FileName != "")
{
posted.SaveAs(
"c:\\UploadedFiles\\"
+ System.IO.Path.GetFileName(posted.FileName));
}
return "";
}
**メモリ不足の問題 [#qc0f127e]
ファイルのアップロード時、アップロード中のデータは、~
全てASP.NETプロセスのメモリに蓄積される。
***ファイルの最大サイズ設定 [#u728966d]
-巨大なファイルがアップロードされる場合は、~
ASP.NETプロセスの使用するメモリ量が膨張し、~
メモリ不足になる可能性があるので注意する(多重度なども影響する)。
-web.configにアップロード可能な~
ファイルの最大サイズを設定しておくと良い 。~
>wwwブラウザはファイルのアップロード時に、~
ファイルサイズをHTTPヘッダのContent-Length属性に付加するので、~
設定値を超えるファイルのアップロード要求をファイル受信前に拒否できる。
<httpRuntime maxRequestLength="4096" executionTimeout="90"/>
***大規模データのアップロード [#i4732199]
「WCF のストリーミング転送モード」~
を使用してアップロード処理を実装する必要がある 。
-MSDNライブラリ > .NET開発 > WCF機能の詳細~
データ転送とシリアル化 > 大規模データとストリーミング~
http://msdn.microsoft.com/ja-jp/library/ms733742.aspx
*参考 [#s6c99cfa]
**[[ファイルのダウンロード]] [#neee87b1]
**マイクロソフト系技術情報 Wiki [#g1578591]
***[[アップロード・ダウンロード>https://techinfoofmicrosofttech.osscons.jp/index.php?%E3%82%A2%E3%83%83%E3%83%97%E3%83%AD%E3%83%BC%E3%83%89%E3%83%BB%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89]] [#c06cb43b]
-[[アップロードのいろいろ>https://techinfoofmicrosofttech.osscons.jp/index.php?%E3%82%A2%E3%83%83%E3%83%97%E3%83%AD%E3%83%BC%E3%83%89%E3%81%AE%E3%81%84%E3%82%8D%E3%81%84%E3%82%8D]]
-[[ダウンロードのいろいろ>https://techinfoofmicrosofttech.osscons.jp/index.php?%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89%E3%81%AE%E3%81%84%E3%82%8D%E3%81%84%E3%82%8D]]