2

我的控制器上传方法中有一个方法可以将上传的图像文件转换为三种不同的大小。我想显示从文件上传到转换停止的方法结束所花费的时间,谁能告诉我我该怎么做

       this is my controller


           public ActionResult Upload()
    {
        //ViewBag.ProcessingTime = DateTime.Now;
        return View();
    }

        [HttpPost]
        public ActionResult Uploading(ImageModel model)
        {
            if (ModelState.IsValid)
            {

                Console.WriteLine("time is"+System.DateTime.Now);

                string fileName = Guid.NewGuid().ToString() + System.DateTime.Now.ToString("yyyy/MM/dd/hh/mm/ss/fff");
                string serverPath = Server.MapPath("~");
                string imagesPath = serverPath + "Content\\Images\\";
                string thumsise = Path.Combine(imagesPath, "Thumb" + fileName);
                string thumbPath = Path.Combine(imagesPath, "Thu" + fileName);
                //string thumbPath = imagesPath + "Thumb\\";
                string fullPath = Path.Combine(imagesPath, "Full" + fileName);
                //string fullPath = imagesPath + "Full\\";
               // string Bigpath = imagesPath + "big\\";
                string Bigpath = Path.Combine(imagesPath, "big" + fileName);
                string Bigpatha = Path.Combine(imagesPath, "biga" + fileName);
                string Bigpathb = Path.Combine(imagesPath, "bigb" + fileName);
                //string Bigpatha = imagesPath + "biga\\";
                //string Bigpathb = imagesPath + "bigb\\";
                string Bigpathc = Path.Combine(imagesPath, "bigc" + fileName );
                //string Bigpathc = imagesPath + "bigc\\";
                //var firstSize = Path.Combine(uploadFolder, "bigsize-" + Path.GetFileName(uploadedFile));
                ImageModel.ResizeAndSave(thumsise, fileName, model.ImageUploaded.InputStream, 80, true);
                ImageModel.ResizeAndSave(thumbPath, fileName, model.ImageUploaded.InputStream, 100, true);
                ImageModel.ResizeAndSave(fullPath, fileName, model.ImageUploaded.InputStream, 500, true);
                ImageModel.ResizeAndSave(Bigpath, fileName, model.ImageUploaded.InputStream, 200, true);
                ImageModel.ResizeAndSave(Bigpatha, fileName, model.ImageUploaded.InputStream, 250, true);
                ImageModel.ResizeAndSave(Bigpathb, fileName, model.ImageUploaded.InputStream, 150, true);
                ImageModel.ResizeAndSave(Bigpathc, fileName, model.ImageUploaded.InputStream, 50, true);
                Console.WriteLine("Time is " + System.DateTime.Now);
            }
            Console.WriteLine("Time is "+System.DateTime.Now);

            Console.ReadLine();
            return View();
        } 
4

2 回答 2

0

您将不得不在您的Model

 public DateTime StartTime { get; set; }
 public DateTime OperatingTime { get; set; }
 public DateTime EndTime { get; set; }

然后适当地分配每个,即StartTime = DateTime.Now;

然后在你的View

@Html.DisplayFor(m=>m.StartTime);

额外的

我会亲自将上传图像功能包装到一个新方法中,最好是在你的ImageModel班级中。然后你可以这样做:model.UploadImage(fileName, imagePath);

于 2012-10-12T10:57:43.860 回答
0

使用秒表

   var stopwatch = new Stopwatch();
   stopwatch.Start();    
   //whatever you want to time
   stopwatch.Stop();
   var result1 = string.Format("{0} to run whatever ", 
                               stopwatch.Elapsed.ToString());
   Console.WriteLine(result1);

对于多个计时,您可以重置秒表并进行更多计时,类似于第一个计时。

于 2012-10-12T10:59:46.653 回答