2

コントローラーのアップロード メソッドに、アップロードされた画像ファイルを 3 つの異なるサイズに変換するメソッドがあります。ファイルがアップロードされてからの所要時間を表示したいのですが、メソッドの最後で変換が停止しました。これを行う方法を教えてください。

       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 に答える