如何上传Excel文件以及带有文件名的新GUID追加?

Dha*_*san 1 c# asp.net-mvc

我正在尝试上传一个excel文件,我想用文件名附加Guid.

我正在使用C#MVC

public ActionResult ValidateUploadedFile()
        {
            DataExchangeDefinitionViewModel dataExchangeDefinitionVM = new DataExchangeDefinitionViewModel();
            DataExchangeDefinition dataExchangeDefinitionObj = new DataExchangeDefinition();

            //  Get all files from Request object  
            HttpFileCollectionBase files = Request.Files;
            HttpPostedFileBase file = files[0];

            try
            {
                if (Request.Files.Count > 0)
                {
                    string fname;
                    // Checking for Internet Explorer  
                    if (Request.Browser.Browser.ToUpper() == "IE" || Request.Browser.Browser.ToUpper() == "INTERNETEXPLORER")
                    {
                        string[] testfiles = file.FileName.Split(new char[] { '\\' });
                        fname = testfiles[testfiles.Length - 1];
                    }
                    else
                    {
                        Guid guidObj = Guid.NewGuid();
                        fname = file.FileName + guidObj.ToString();
                    }                    
                    fname = Path.Combine(Server.MapPath("~/images/Uploads/ImportExcel"), fname);
                    if (_dataExchangeBusiness.IsExcelFile(fname)==true)
                    {                       
                        file.SaveAs(fname);
                        return Json(new { Result = "true", Message = "" });

                    }
                     else
                    {
                        return Json(new { Result = "false", Message = "" });
                    }                                      
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            // return Json(new { Result = "OK" ,Message="File validated succesfully"});
            return null;
        }
Run Code Online (Sandbox Code Playgroud)

实际上文件已正确上传.我想用文件名附加Guid.当我使用文件名附加Guid时,它会在文件扩展名后附加.

像这样OtherExpense_01.01.2011_E20.xlsx7ac9dbdb-67bb-434c-8465-6a1f7e5bfc83 我期待这样的结果OtherExpense_01.01.2011_E20_7ac9dbdb-67bb-434c-8465-6a1f7e5bfc83.xlsx

Tet*_*oto 5

您可以使用Path.GetFileNameWithoutExtension()Path.GetExtension()方法将文件名与GUID连接(请注意,它们都需要System.IO命名空间):

Guid guidObj = Guid.NewGuid();

string baseName = Path.GetFileNameWithoutExtension(file.FileName);
string extension = Path.GetExtension(file.FileName);

fname = baseName + guidObj.ToString() + extension;
Run Code Online (Sandbox Code Playgroud)