ページにファイル アップロード コントロールを配置する
<asp:FileUpload ID="FileUpload1" runat="server"/>
ファイルのアップロードを処理する http ハンドラーを作成します。
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
HttpPostedFile fileToUpload = context.Request.Files["Filedata"];
string pathToSave = HttpContext.Current.Server.MapPath("~/Files/")
+ fileToUpload.FileName;
fileToUpload.SaveAs(pathToSave);
//Process file
}
public bool IsReusable {
get {
return false;
}
}
}
uploadifyのようなアップロード プラグインをプロジェクトに統合できるかどうかを確認してください (jQuery が必要です)。
<script type = "text/javascript">
$(document).ready(function()
{
$("#<%=FileUpload1.ClientID %>").uploadify(
{
'swf': 'Scripts/uploadify.swf',
'uploader': 'Handler.ashx',
'auto': true,
'buttonText': 'Select File(s)'
});
});
</script>
これができない場合は、ajax の仕組みを理解する必要があります
Ajax は通常 XMLHttpRequest を使用しますが、これではローカル ファイルをエンコードしてサーバーに送信することはできません。
Flash SWF を使用して同じページでのアップロードを処理するか、非表示の 1x1 iframe のターゲットを持つフォームを使用することができます。
asp.net でのファイルのアップロードに関するこのブログに投稿されたコードを見つけました