1

ASP.NET で FileUpload コントロールを使用しています。ユーザーは、サーバーに既に存在する特定のファイル名と拡張子のアップロードに制限されています。私がやりたいことは、ユーザーが選択したファイルを別の名前でアップロードすることです。たとえば、ファイルはサーバーとワークステーションの両方でmonthlyreports.xls です。既存のファイルを上書きしないように、ワークステーション版をmonthlyreports_user.xlsとしてアップロードしてほしいです。

ASP.NETでファイルの名前を変更するにはどうすればよいですか? File.Copy メソッドを試しましたが、機能しません。ファイルが見つからないというエラーが表示されます。

Private Sub uploadItems(ByVal vPath As String)
    Dim strRename As String = "monthlyreports_user.xls"

    File.Create(vPath & strRename)

    Try
        If FileBrowse.HasFile Then

            File.Copy(FileBrowse.FileName, strRename)

            FileBrowse.SaveAs(strRename)

        End If
    Catch ex As Exception
        DisplayMsgBox(Me, ex.Message(), "uploadErr")
    End Try

FileBrowse は FileUpload コントロールの名前で、vPath はサーバー上のアプリケーション インストール パスです。

4

2 に答える 2

1

この.SaveAsメソッドでは、新しい fileName を指定する機会が既に与えられています。これはうまくいくはずです

 string newfilename = String.Format("{0}_{1}", "My_Prefix_", FileBrowse.FileName)
 FileBrowse.SaveAs(newfilename)
于 2013-01-23T16:30:07.867 に答える
0

SaveAs次のように、FileUpload コントロールでメソッドを呼び出すだけです。

FileBrowse.SaveAs(strRename)

コード内の への呼び出しFile.Copyは不要です。

于 2013-01-23T16:31:32.103 に答える