DoboWiki
Top
> :メンバー/DOBON!/ASP.NET Tips/ファイルをアップロードできるようにする をテンプレートにして作成
:メンバー/DOBON!/ASP.NET Tips/ファイルをアップロードできるようにする をテンプレートにして作成
開始行:
*ファイルをアップロードできるようにする [#ic0b9312]
ここではクライアントがWebブラウザを使ってサーバーにファイ...
**.NET2.0以降で、FileUploadコントロールを使用する方法 [#a...
.NET Framework 2.0から追加されたFileUploadコントロールを...
以下のコードでは、FileUploadコントロールを使ってサーバー...
#code(vbnet){{
}}
#code(csharp){{
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional...
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Button1_Click(object sender, EventArgs...
{
if (FileUpload1.HasFile)
{
//アップロードされたファイルの保存先のパス
string uploadPath = Server.MapPath("upfiles\\...
//アップロードされたファイルを保存する
FileUpload1.SaveAs(uploadPath);
//結果報告
Label1.Text = "ファイル \"" +
HttpUtility.HtmlEncode(FileUpload1.FileNa...
"\" をアップロードしました";
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server" enctype="multipart/fo...
<div>
<asp:FileUpload ID="FileUpload1" runat="server" />
<br />
<asp:Button ID="Button1" runat="server" Text="ア...
OnClick="Button1_Click" />
<br />
<asp:Label ID="Label1" runat="server"></asp:Label>
</div>
</form>
</body>
</html>
}}
アップロードされたファイルの保存は、FileUpload.SaveAsメソ...
また、FileUpload.FileNameプロパティはアップロードするファ...
SaveAsメソッドでファイルを保存する時、同名のファイルが存...
FileUpload.SaveAsメソッドで保存する前に、FileUpload.HasFi...
#column(補足){{
ファイルがアップロードされる時、あるサイズまではメモリに...
}}
***ファイルサイズ、拡張子をチェックする [#n2918732]
どんなファイルのアップロードの許可してしまうのは、非常に...
以下に、先ほどのコードを改造して、ファイルサイズと拡張子...
#code(vbnet){{
}}
#code(csharp){{
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional...
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
//アップロードを許可する拡張子
string[] uploadAcceptExtensions = { ".txt", ".jpg", "...
//アップロードできるファイルの最大サイズ
int uploadMaxFileSize = 100 * 1024;
protected void Button1_Click(object sender, EventArgs...
{
//ファイルが指定されているかチェック
if (!FileUpload1.HasFile)
{
Label1.Text = "ファイルが指定されていません。";
return;
}
//ファイルサイズのチェック
if (FileUpload1.PostedFile.ContentLength > this.u...
{
Label1.Text = "ファイルのサイズが大きすぎます...
return;
}
//拡張子のチェック
string ext = System.IO.Path.GetExtension(FileUplo...
ext = ext.ToLower();
if (Array.IndexOf(this.uploadAcceptExtensions, ex...
{
Label1.Text = "ファイルの拡張子が許可されてい...
return;
}
//アップロードされたファイルの保存先のパス
string uploadPath = Server.MapPath("upfiles\\" + ...
try
{
//アップロードされたファイルを保存する
FileUpload1.SaveAs(uploadPath);
//結果報告
Label1.Text = "ファイル \"" +
HttpUtility.HtmlEncode(FileUpload1.FileNa...
"\" をアップロードしました";
}
catch
{
Label1.Text = "ファイルのアップロードに失敗し...
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server" enctype="multipart/fo...
<div>
<asp:FileUpload ID="FileUpload1" runat="server" />
<br />
<asp:Button ID="Button1" runat="server" Text="ア...
OnClick="Button1_Click" />
<br />
<asp:Label ID="Label1" runat="server"></asp:Label>
</div>
</form>
</body>
</html>
}}
***Web構成ファイルでアップロードできるファイルの最大サイ...
アップロード可能なファイルのサイズは、Web.configファイル...
次の例では、アップロードを許可するファイルサイズの上限を1...
#pre{{
<configuration>
<system.web>
<httpRuntime maxRequestLength="1"/>
</system.web>
</configuration>
}}
指定されたページのみサイズ制限する場合は、<location>要素...
#pre{{
<configuration>
<location path="WebForm1.aspx">
<system.web>
<httpRuntime maxRequestLength="100"/>
</system.web>
</location>
</configuration>
}}
巨大なファイルをアップロードすると、aspnet_wp.exeに関する...
**HttpPostedFile.SaveAsメソッドを使用する方法 [#q01f0b20]
.NET Framework 1.1以前でFileUploadコントロールが使えない...
以下にその簡単な例を示します。ここではフォームにHtmlInput...
#code(vbnet){{
}}
#code(csharp){{
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional...
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Button1_Click(object sender, EventArgs...
{
if (File1.PostedFile == null || File1.PostedFile....
{
Label1.Text = "ファイルが指定されていません。";
return;
}
//保存するファイル名を決定する
string fileName = System.IO.Path.GetFileName(File...
//アップロードされたファイルの保存先のパス
string uploadPath = Server.MapPath("upfiles\\" + ...
//アップロードされたファイルを保存する
File1.PostedFile.SaveAs(uploadPath);
//結果報告
Label1.Text = "ファイル \"" +
HttpUtility.HtmlEncode(fileName) +
"\" をアップロードしました";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server" enctype="multipart/fo...
<div>
<input id="File1" runat="server" type="file" />
<br />
<asp:Button ID="Button1" runat="server" Text="ア...
OnClick="Button1_Click" />
<br />
<asp:Label ID="Label1" runat="server"></asp:Label>
</div>
</form>
</body>
</html>
}}
FileUploadコントロールを使った方法で紹介した注意事項がほ...
ただし、.NET Framework 1.1以前ではWeb.configファイルのhtt...
**複数のファイルをアップロードする [#lad5c85b]
FileUploadコントロールやHtmlInputFileコントロールを複数ペ...
以下に簡単な例を示します。
#code(vbnet){{
}}
#code(csharp){{
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional...
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Button1_Click(object sender, EventArgs...
{
for (int i = 0; i < Request.Files.Count; i++)
{
//アップロードされたファイルを取得する
HttpPostedFile postedFile = Request.Files[i];
//保存するファイル名を決定する
string fileName = System.IO.Path.GetFileName(...
//アップロードされたファイルの保存先のパス
string uploadPath = Server.MapPath("upfiles\\...
//アップロードされたファイルを保存する
postedFile.SaveAs(uploadPath);
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server" enctype="multipart/fo...
<div>
<asp:FileUpload ID="FileUpload1" runat="server" />
<br />
<asp:FileUpload ID="FileUpload2" runat="server" />
<br />
<asp:FileUpload ID="FileUpload3" runat="server" />
<br />
<asp:Button ID="Button1" runat="server" Text="ア...
OnClick="Button1_Click" />
</div>
</form>
</body>
</html>
}}
//これより下は編集しないでください
#pageinfo(,2007-11-09 (金) 19:20:41,DOBON!,2007-11-09 (金...
終了行:
*ファイルをアップロードできるようにする [#ic0b9312]
ここではクライアントがWebブラウザを使ってサーバーにファイ...
**.NET2.0以降で、FileUploadコントロールを使用する方法 [#a...
.NET Framework 2.0から追加されたFileUploadコントロールを...
以下のコードでは、FileUploadコントロールを使ってサーバー...
#code(vbnet){{
}}
#code(csharp){{
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional...
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Button1_Click(object sender, EventArgs...
{
if (FileUpload1.HasFile)
{
//アップロードされたファイルの保存先のパス
string uploadPath = Server.MapPath("upfiles\\...
//アップロードされたファイルを保存する
FileUpload1.SaveAs(uploadPath);
//結果報告
Label1.Text = "ファイル \"" +
HttpUtility.HtmlEncode(FileUpload1.FileNa...
"\" をアップロードしました";
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server" enctype="multipart/fo...
<div>
<asp:FileUpload ID="FileUpload1" runat="server" />
<br />
<asp:Button ID="Button1" runat="server" Text="ア...
OnClick="Button1_Click" />
<br />
<asp:Label ID="Label1" runat="server"></asp:Label>
</div>
</form>
</body>
</html>
}}
アップロードされたファイルの保存は、FileUpload.SaveAsメソ...
また、FileUpload.FileNameプロパティはアップロードするファ...
SaveAsメソッドでファイルを保存する時、同名のファイルが存...
FileUpload.SaveAsメソッドで保存する前に、FileUpload.HasFi...
#column(補足){{
ファイルがアップロードされる時、あるサイズまではメモリに...
}}
***ファイルサイズ、拡張子をチェックする [#n2918732]
どんなファイルのアップロードの許可してしまうのは、非常に...
以下に、先ほどのコードを改造して、ファイルサイズと拡張子...
#code(vbnet){{
}}
#code(csharp){{
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional...
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
//アップロードを許可する拡張子
string[] uploadAcceptExtensions = { ".txt", ".jpg", "...
//アップロードできるファイルの最大サイズ
int uploadMaxFileSize = 100 * 1024;
protected void Button1_Click(object sender, EventArgs...
{
//ファイルが指定されているかチェック
if (!FileUpload1.HasFile)
{
Label1.Text = "ファイルが指定されていません。";
return;
}
//ファイルサイズのチェック
if (FileUpload1.PostedFile.ContentLength > this.u...
{
Label1.Text = "ファイルのサイズが大きすぎます...
return;
}
//拡張子のチェック
string ext = System.IO.Path.GetExtension(FileUplo...
ext = ext.ToLower();
if (Array.IndexOf(this.uploadAcceptExtensions, ex...
{
Label1.Text = "ファイルの拡張子が許可されてい...
return;
}
//アップロードされたファイルの保存先のパス
string uploadPath = Server.MapPath("upfiles\\" + ...
try
{
//アップロードされたファイルを保存する
FileUpload1.SaveAs(uploadPath);
//結果報告
Label1.Text = "ファイル \"" +
HttpUtility.HtmlEncode(FileUpload1.FileNa...
"\" をアップロードしました";
}
catch
{
Label1.Text = "ファイルのアップロードに失敗し...
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server" enctype="multipart/fo...
<div>
<asp:FileUpload ID="FileUpload1" runat="server" />
<br />
<asp:Button ID="Button1" runat="server" Text="ア...
OnClick="Button1_Click" />
<br />
<asp:Label ID="Label1" runat="server"></asp:Label>
</div>
</form>
</body>
</html>
}}
***Web構成ファイルでアップロードできるファイルの最大サイ...
アップロード可能なファイルのサイズは、Web.configファイル...
次の例では、アップロードを許可するファイルサイズの上限を1...
#pre{{
<configuration>
<system.web>
<httpRuntime maxRequestLength="1"/>
</system.web>
</configuration>
}}
指定されたページのみサイズ制限する場合は、<location>要素...
#pre{{
<configuration>
<location path="WebForm1.aspx">
<system.web>
<httpRuntime maxRequestLength="100"/>
</system.web>
</location>
</configuration>
}}
巨大なファイルをアップロードすると、aspnet_wp.exeに関する...
**HttpPostedFile.SaveAsメソッドを使用する方法 [#q01f0b20]
.NET Framework 1.1以前でFileUploadコントロールが使えない...
以下にその簡単な例を示します。ここではフォームにHtmlInput...
#code(vbnet){{
}}
#code(csharp){{
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional...
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Button1_Click(object sender, EventArgs...
{
if (File1.PostedFile == null || File1.PostedFile....
{
Label1.Text = "ファイルが指定されていません。";
return;
}
//保存するファイル名を決定する
string fileName = System.IO.Path.GetFileName(File...
//アップロードされたファイルの保存先のパス
string uploadPath = Server.MapPath("upfiles\\" + ...
//アップロードされたファイルを保存する
File1.PostedFile.SaveAs(uploadPath);
//結果報告
Label1.Text = "ファイル \"" +
HttpUtility.HtmlEncode(fileName) +
"\" をアップロードしました";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server" enctype="multipart/fo...
<div>
<input id="File1" runat="server" type="file" />
<br />
<asp:Button ID="Button1" runat="server" Text="ア...
OnClick="Button1_Click" />
<br />
<asp:Label ID="Label1" runat="server"></asp:Label>
</div>
</form>
</body>
</html>
}}
FileUploadコントロールを使った方法で紹介した注意事項がほ...
ただし、.NET Framework 1.1以前ではWeb.configファイルのhtt...
**複数のファイルをアップロードする [#lad5c85b]
FileUploadコントロールやHtmlInputFileコントロールを複数ペ...
以下に簡単な例を示します。
#code(vbnet){{
}}
#code(csharp){{
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional...
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Button1_Click(object sender, EventArgs...
{
for (int i = 0; i < Request.Files.Count; i++)
{
//アップロードされたファイルを取得する
HttpPostedFile postedFile = Request.Files[i];
//保存するファイル名を決定する
string fileName = System.IO.Path.GetFileName(...
//アップロードされたファイルの保存先のパス
string uploadPath = Server.MapPath("upfiles\\...
//アップロードされたファイルを保存する
postedFile.SaveAs(uploadPath);
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server" enctype="multipart/fo...
<div>
<asp:FileUpload ID="FileUpload1" runat="server" />
<br />
<asp:FileUpload ID="FileUpload2" runat="server" />
<br />
<asp:FileUpload ID="FileUpload3" runat="server" />
<br />
<asp:Button ID="Button1" runat="server" Text="ア...
OnClick="Button1_Click" />
</div>
</form>
</body>
</html>
}}
//これより下は編集しないでください
#pageinfo(,2007-11-09 (金) 19:20:41,DOBON!,2007-11-09 (金...
ページ名:
▲
▼
[
トップ
] [
新規
|
子ページ作成
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]