web-dev-qa-db-ja.com

FileUpload getファイル拡張子

以下のファイルをアップロードして名前を変更しようとしています。ファイル拡張子を取得する必要があります。以下のコードには、「パス」の下線があります。usingステートメントがありませんか?または、私がやっていることの正しい構文は何ですか?

if (FileUpload1.HasFile)
try
{
    var FileExtension = Path.GetExtension(FileUpload1.PostedFile.FileName).Substring(1);                    

    var newName = DateTime.Now.ToLongDateString();
    //Map path to folder
    string realpath = Server.MapPath("Pictures\\") + Guid.NewGuid() + FileExtension;                      

    FileUpload1.SaveAs(realpath);

    Label1.Text = "File name: " +
        FileUpload1.PostedFile.FileName + "<br>" +
        FileUpload1.PostedFile.ContentLength + " kb<br>" +
        "Content type: " +
        FileUpload1.PostedFile.ContentType;
}
catch (Exception ex)
{
    //Handle the error
    throw ex;
}
else
{
    Label1.Text = "You have not specified a file.";
}
15
CsharpBeginner

「パス」にはusingステートメントがありませんか?

追加する必要があります

using System.IO; 

名前空間のリストへ

12
giftcv
FileInfo fi = new FileInfo(fileName);
string ext = fi.Extension;
32
jrb

あなたが提供したコードは問題なく見えます(そして私のマシンで動作します)。

欠落している可能性があることは、System.IOのusingステートメントだけです。

1
David Hall

このコードを使用してください:

string extension=System.IO.Path.GetExtension(file1.FileName);
1