C# 如何使用自定义名称上载图像';原来的分机号码是多少?

C# 如何使用自定义名称上载图像';原来的分机号码是多少?,c#,asp.net-mvc,asp.net-mvc-4,C#,Asp.net Mvc,Asp.net Mvc 4,我正在尝试上传图片的形式,我基本上已经这样做了,但我希望图片是专门为每个用户谁注册命名 例如,每封电子邮件都是唯一的,如果数据库中已有另一封电子邮件,则表单将返回false(不允许他/她注册) 因此,我所做的就是将文件名更改为他/她在表单中键入的电子邮件 但是现在该文件将没有其原始扩展名(.jpg.png等) 有没有办法把文件的原始扩展名拉出来 以下是我控制器中的内容: [HttpPost] public AcitonResult Register(Registration signingUp,

我正在尝试上传图片的形式,我基本上已经这样做了,但我希望图片是专门为每个用户谁注册命名

例如,每封电子邮件都是唯一的,如果数据库中已有另一封电子邮件,则表单将返回false(不允许他/她注册)

因此,我所做的就是将文件名更改为他/她在表单中键入的电子邮件

但是现在该文件将没有其原始扩展名(.jpg.png等)

有没有办法把文件的原始扩展名拉出来

以下是我控制器中的内容:

[HttpPost]
public AcitonResult Register(Registration signingUp, HttpPostedFileBase avatar)
{
    var db = new AvatarDBEntities();
    if (ModelState.IsValid)
    {
        var FindEmail = db.tblProfiles.FirstOrDefault(e => e.PROF_Email == signingUp.Email);

        if (FindEmail == null)
        {
            var Data = db.tblProfiles.Create();
            Data.PROF_Email = signingUp.Email;

            if (avatar != null)
            {
                string profpic = System.IO.Path.GetFileName(avatar.FileName);
                string profpic_name = signingUp.Email + ".jpg"; //this is what I'm trying to change
                string path = System.IO.Path.Combine(Server.MapPath("~/assets/images/user_images/avatars"), profpic_name);

                avatar.SaveAs(path);
            }

            db.tblProfiles.Add(Data);
            db.SaveChanges();
        }
        else
        {
            ModelState.AddModelError("Email", "That Email already exist.");
            return View();
        }
    }
    return View();
}
视图:

@使用(Html.BeginForm(“Register”、“Main”、FormMethod.Post、new{enctype=“multipart/formdata”}))
{
@Html.TextBoxFor(r=>r.Email,新的{@class=“custom input Email”})
@Html.ValidationMessageFor(a=>a.Email)
个人资料图片:*

}
图像位于文件夹中,名称为其电子邮件,扩展名为
.jpg

我只想提取原始文件的扩展名,并在提取电子邮件值后添加它


谢谢。

我想你要找的是

Path.GetExtension(string fileName)
所以你的代码变成了

string profpic_name = signingUp.Email + Path.GetExtension(avatar.FileName);

我想你要找的是

Path.GetExtension(string fileName)
所以你的代码变成了

string profpic_name = signingUp.Email + Path.GetExtension(avatar.FileName);

我想你要找的是

Path.GetExtension(string fileName)
所以你的代码变成了

string profpic_name = signingUp.Email + Path.GetExtension(avatar.FileName);

我想你要找的是

Path.GetExtension(string fileName)
所以你的代码变成了

string profpic_name = signingUp.Email + Path.GetExtension(avatar.FileName);

有一个方法叫做
Path.GetExtension

首先将扩展存储在临时变量中,然后再使用它

string tempExtension = Path.GetExtension(avatar.FileName);

有一个方法叫做
Path.GetExtension

首先将扩展存储在临时变量中,然后再使用它

string tempExtension = Path.GetExtension(avatar.FileName);

有一个方法叫做
Path.GetExtension

首先将扩展存储在临时变量中,然后再使用它

string tempExtension = Path.GetExtension(avatar.FileName);

有一个方法叫做
Path.GetExtension

首先将扩展存储在临时变量中,然后再使用它

string tempExtension = Path.GetExtension(avatar.FileName);

哦,你先得到:)@C.J。他们叫我快抽达维。(他们真的不知道。)哦,你先知道:)@C.J。他们叫我快画达维。(他们真的不知道。)哦,你先知道:)@C.J。他们叫我快画达维。(他们真的不知道。)哦,你先知道:)@C.J。他们叫我快画达维。(他们真的不知道。)