web-dev-qa-db-fra.com

FileUpload obtient l'extension de fichier

J'essaie de télécharger un fichier et de changer son nom ci-dessous. J'ai besoin d'obtenir l'extension de fichier. Le code ci-dessous a un soulignement sous "Chemin" ai-je manqué une instruction using? Ou quelle est la syntaxe correcte pour ce que je fais?

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

"Chemin" est-ce que je manque une instruction using?

Vous devez ajouter

using System.IO; 

à la liste des espaces de noms

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

Le code que vous avez fourni semble correct (et fonctionne sur ma machine).

La seule chose que je vois que vous pourriez manquer est l'instruction using pour System.IO.

1
David Hall

Utilisez ce code:

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