Как загрузить файл Excel вместе с новым GUID-приложением с именем файла? - PullRequest
0 голосов
/ 27 декабря 2018

Я пытаюсь загрузить файл 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;
        }

Собственно файлзагружен правильно.Я хочу добавить Guid с именем файла.Когда я добавляю Guid с именем файла, он добавляется после расширения файла.

вот так OtherExpense_01.01.2011_E20.xlsx7ac9dbdb-67bb-434c-8465-6a1f7e5bfc83 я ожидаю такого результата OtherExpense_01.01.2011_E20_7ac9dbdb-67bb-434c-8465-6a1f7e5bfc83.xlsx

1 Ответ

0 голосов
/ 27 декабря 2018

Вы можете использовать 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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...