2016-04-24 10 views
1

Я создаю инструмент загрузки файла макета для сайта сообщества, используя Fine Uploader.Тонкий сеанс загрузки Миниатюры медленно загружаются

У меня настроен сеанс, чтобы получить исходные файлы с сервера вместе с эскизом эскиза.

Все работает отлично, однако рендеринг эскизов очень медленный. Я не могу понять, почему. Поэтому я жестко закодирован для использования очень маленького эскиза для каждого из четырех файлов. Это не имело никакого значения.

На стороне сервера не проблема. Информация возвращается очень быстро.

Я что-то не так? Почему так медленно? Вот скриншот. Это четыре секунды для рендеринга четырех миниатюр.

fine uploader rendering thumbs

Я использую последнюю версию хрома. Это проект NancyFX на довольно мощной машине. Охватывание других страниц с большими изображениями на них мгновенно.

Client код сторона:

thumbnails: { 
       placeholders: { 
        waitingPath: '/Content/js/fine-uploader/placeholders/waiting-generic.png', 
        notAvailablePath: '/Content/js/fine-uploader/placeholders/not_available-generic.png' 
       } 
      }, 
      session: { 
       endpoint: "/getfiles/FlickaId/342" 
      }, 

стороне сервера код:

 // Fine uploader makes session request to get existing files 
     Get["/getfiles/FlickaId/{FlickaId}"] = parameters => 
     { 
      //get the image files from the server 
      var i = FilesDatabase.GetFlickaImagesById(parameters.FlickaId); 

      // list to hold the files 
      var list = new List<UploadedFiles>(); 

      // build the response data object list 
      foreach (var imageFile in i) 
      { 
       var f = new UploadedFiles(); 

       f.name = "test-thumb-small.jpg"; // imageFile.ImageFileName; 
       f.size = 1; 
       f.uuid = imageFile.FileGuid; 
       f.thumbnailUrl = "/Content/images/flickabase/thumbnails/" + "test-thumb-small.jpg"; // imageFile.ImageFileName; 

       list.Add(f); 
      } 

      return Response.AsJson(list); // our model is serialised by Nancy as Json! 

     }; 
+0

Есть ли проблема с размером файла? Я не отправляю обратно реальный размер файла. Думаю, это было просто для отображения. –

ответ

2

Это дизайн, и был реализован как для предотвращения потока пользовательского интерфейса от затопления с Масштабный логикой изображения и предотвратить проблему утечки памяти, характерную для Chrome. Это объясняется в разделе эскизов и отрывками документации, в частности, в the "performance considerations" area:

Для браузеров, которые поддерживают клиента генерируемые предварительный просмотр изображений (qq.supportedFeatures.imagePreviews === истина), конфигурируемый пауза между template- созданный предварительный просмотр. Это делается для того, чтобы предотвратить сложный процесс генерации превьютов из избыточного процессора клиентской машины в течение длительного времени. Без этого лимита пользовательский интерфейс браузера подвержен риску блокировки, предотвращая любое взаимодействие с пользователем (прокрутка и т. Д.) До тех пор, пока не будут созданы все предварительные просмотры.

Вы можете настроить или удалить эту паузу с помощью the thumbnails option, но я предлагаю вам не сделать это, если вы не уверены, что пользователи не выпадет большое количество сложных графических файлов.

+0

Спасибо за быстрый ответ Рэй. Интересно. Есть ли способ изменить этот параметр только для начальной загрузки «начальных файлов»? Не кажется правильным, чтобы эта пауза, когда по существу все, что происходит, - это список URL-адресов графических файлов для возврата с сервера и отображения на веб-странице. Если бы я должен был написать js-цикл, который помещал бы целые теги на страницу, результат не имел бы отставания. Пауза должна произойти только тогда, когда пользователь удаляет файл в элементе управления. Или это невозможно? –

+0

Изображения изменяются, чтобы обеспечить их равномерное отображение. Таким образом, это намного больше, чем просто рендеринг тегов изображений. –

+0

ОК, спасибо. В этом случае это будет только я и несколько других, загружающих файлы, поэтому это не имеет большого значения. Я немного сокращу время и буду жить с ним. –

 Смежные вопросы

  • Нет связанных вопросов^_^