以下のファイルをアップロードして名前を変更しようとしています。ファイル拡張子を取得する必要があります。以下のコードには、「パス」の下線があります。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.";
}
「パス」にはusingステートメントがありませんか?
追加する必要があります
using System.IO;
名前空間のリストへ
FileInfo fi = new FileInfo(fileName);
string ext = fi.Extension;
あなたが提供したコードは問題なく見えます(そして私のマシンで動作します)。
欠落している可能性があることは、System.IO
のusingステートメントだけです。
このコードを使用してください:
string extension=System.IO.Path.GetExtension(file1.FileName);