画面でファイルを指定し、そのファイルをサーバーにアップロードする処理は
以下のようにおこないます。
○HTMLコード
<form id="Form1" method="post" runat="server" enctype="multipart/form-data">
<input type="file" id="file1" NAME="file1" runat="server">
</form>
注)Formタグ内のenctype="multipart/form-data"を書かないと動きません。
○VBコード
If Not Me.file1.PostedFile Is Nothing AndAlso Me.file1.PostedFile.ContentLength > 0 Then
'ファイルの保存用のパスを指定
Dim sFile As String = "C:\UpLoadFile\"
Try
sFile &= System.IO.Path.GetFileName(Me.file1.PostedFile.FileName)
'ファイルの保存
Me.file1.PostedFile.SaveAs(sFile)
Catch ex As Exception
'エラー時の処理
End Try
End If
コメント (2)
ASP.NETでの「ファイルアップロード」には詰まりました。。
要件は「複数ファイルを一度でアップしたい」で、コントロールを複数個置いたりもしましたが別コントロールからのポストバックでせっかく指定したファイル名がクリアされる。。。
カスタムコントロールとかで回避できるんでしょうか??
投稿者: まえだ | 2005年1月21日 10:13
ファイルアップロードはHtmlControlになるので、動的にコントロールする事は出来なかったかと…。
なので、一つファイルを選択するたびにアップロードしてしまって、そのアップロード先を格納フォルダではないTempなどに指定する。
正常系で処理が終了すればTempから格納先フォルダにFile.Moveで移動させ、異常系ならばTempからFile.Deleteで削除する。
これで要件に近い機能を実現できませんかね?
投稿者: H原 | 2005年1月24日 11:28