FileUpload.SaveAs メソッドとは? わかりやすく解説

FileUpload.SaveAs メソッド

メモ : このメソッドは、.NET Framework version 2.0新しく追加されたものです。

FileUpload コントロール使用してアップロードしたファイル内容Web サーバー上の指定したパス保存します

名前空間: System.Web.UI.WebControls
アセンブリ: System.Web (system.web.dll 内)
構文構文

例外例外
例外種類条件

HttpException

filename が完全パスではありません。

解説解説

SaveAs メソッドFileUpload コントロール使用してアップロードしたファイル内容Web サーバー上の指定したパス保存します

FileUpload コントロールは、アップロードするファイルユーザー選択した後はファイルサーバー自動的に保存しません。指定したファイルユーザー送信できるようにするコントロールまたはメカニズム明示的に指定する必要があります。たとえば、ユーザークリックするファイルアップロードされるようなボタン指定します指定したファイル保存するために記述したコードでは、サーバー上の指定したパスファイル内容保存する SaveAs メソッド呼び出す必要があります通常SaveAs メソッドは、サーバーへのポストバック発生させるイベントの、イベント処理メソッド呼び出します。たとえば、ファイル送信するボタン指定した場合サーバーファイル保存するコードクリック イベントイベント処理メソッド内に配置します

SaveAs メソッド呼び出す場合は、アップロードしたファイル保存先とするサーバーディレクトリへの完全パス指定する必要がありますアプリケーション コードパス明示的に指定しない場合は、ユーザーファイルアップロードようとすると、HttpException 例外スローさます。この動作によって、アップロードするファイル保存先パスユーザー指定できないようにして、サーバー上のファイル安全に保持できます

SaveAs メソッド呼び出す前に、HasFile プロパティ使用してアップロードするファイルFileUpload コントロール格納されていることを確認する必要がありますHasFile によって true返される場合SaveAs メソッド呼び出します。false返される場合コントロールファイル格納されていないことを示すメッセージユーザー表示されます。ファイル存在することを確認するエラー処理コード指定してない場合存在しないファイル保存しようとすると、HttpException 例外スローさます。

SaveAs 呼び出し機能させるには、サーバー上のディレクトリ対す書き込みアクセスASP.NET アプリケーション設定する必要がありますアプリケーション書き込みアクセス取得するには、2 つ方法ありますアプリケーション実行中のアカウントに対しては、アップロードされたファイル保存先となるディレクトリでの書き込みアクセス明示的に許可できますまた、ASP.NET アプリケーション許可している信頼レベル上げることもできますアプリケーションの実行ディレクトリ対す書き込みアクセス取得するには、信頼レベルが AspNetHostingPermissionLevel.Medium 値に設定された AspNetHostingPermission オブジェクトアプリケーション許可されている必要があります信頼レベル上げると、アプリケーションからサーバー上のリソースへのアクセス権限が拡大します。ただし、アプリケーション制御取得した悪意のあるユーザーもこの高い信頼レベルアプリケーション実行できるので、この方法は安全ではありません。アプリケーションの実行必要な最小限特権を持つユーザーコンテキストASP.NET アプリケーション実行することをお勧めます。ASP.NET アプリケーションセキュリティ詳細については、「Web アプリケーションセキュリティに関する基本的な対策」と「ASP.NET 信頼レベルポリシー ファイル」を参照してください

使用例使用例

エラー チェック実行する FileUpload コントロール作成する方法次のコード例示しますファイル保存する前にHasFile メソッド呼び出してアップロードするファイル実際に存在することを確認します。さらに、File.Exists メソッド呼び出して、同じ名前のファイルパス内に既に存在するかどうか確認します存在する場合は、アップロードするファイルの名前の前に数字追加してから、SaveAs メソッド呼び出します。これによって、既存ファイル上書きされないようにします。

<%@ Page Language="VB" %>

<html>
<head>

    <script runat="server">
        
      Sub UploadButton_Click(ByVal sender As
 Object, ByVal e As System.EventArgs)
            
        ' Before attempting to save the file, verify
        ' that the FileUpload control contains a file.
        If (FileUpload1.HasFile) Then
          ' Call a helper method routine to save the file.
          SaveFile(FileUpload1.PostedFile)
        Else
          ' Notify the user that a file was not uploaded.
          UploadStatusLabel.Text = "You did not specify a file
 to upload."
        End If

      End Sub
        
      Sub SaveFile(ByVal file As
 HttpPostedFile)
            
        ' Specify the path to save the uploaded file to.
        Dim savePath As String
 = "c:\temp\uploads\"
            
        ' Get the name of the file to upload.
        Dim fileName As String
 = FileUpload1.FileName
            
        ' Create the path and file name to check for duplicates.
        Dim pathToCheck As String
 = savePath + fileName
        
        ' Create a temporary file name to use for checking duplicates.
        Dim tempfileName As String
            
        ' Check to see if a file already exists with the
        ' same name as the file to upload.        
        If (System.IO.File.Exists(pathToCheck)) Then
          Dim counter As Integer
 = 2
          While (System.IO.File.Exists(pathToCheck))
            ' If a file with this name already exists,
            ' prefix the filename with a number.
            tempfileName = counter.ToString() + fileName
            pathToCheck = savePath + tempfileName
            counter = counter + 1
          End While
          
          fileName = tempfileName
          
          ' Notify the user that the file name was changed.
          UploadStatusLabel.Text = "A file with the same name
 already exists." + "<br>" + _
                                   "Your file was saved as "
 + fileName
          
        Else
          
          ' Notify the user that the file was saved successfully.
          UploadStatusLabel.Text = "Your file was uploaded successfully."
          
        End If

        ' Append the name of the file to upload to the path.
        savePath += fileName
            
        ' Call the SaveAs method to save the uploaded
        ' file to the specified directory.
        FileUpload1.SaveAs(savePath)
            
      End Sub
        
  </script>

</head>
<body>

    <h3>FileUpload.SaveAs Method Example</h3>

    <form ID="Form1" runat="server">
   
        <h4>Select a file to upload:</h4>
       
        <asp:FileUpload id="FileUpload1"      
           
            runat="server">
        </asp:FileUpload>
            
        <br><br>
       
        <asp:Button id="UploadButton" 
            Text="Upload file"
            OnClick="UploadButton_Click"
            runat="server">
        </asp:Button>      
        
        <hr />
       
        <asp:Label id="UploadStatusLabel"
            runat="server">
        </asp:Label>   
         
    </form>

</body>
</html>
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「FileUpload.SaveAs メソッド」の関連用語

FileUpload.SaveAs メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



FileUpload.SaveAs メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS