2016-10-08 6 views
0

У меня есть форма, где пользователи могут загружать файлы с помощью виджета uploadcare. После загрузки я могу вывести/показать предварительный просмотр, но только если тип файла - это как jpg, png и т. Д. Но мне нужно показать другие типы файлов, такие как PSD, PDF. Я пытаюсь реализовать imagemagick для этого, но запутался, как использовать его с uploadcare, поскольку виджет использует jquery для извлечения образа cdn. В то время как большинство учебных пособий, которые я нашел в Интернете, предназначены для php.Используйте imagemagick с uploadcare, чтобы отображать уменьшенное изображение для PSD, типы файлов PDF

Вы можете посмотреть на виджет сниппеты в этой скрипке: https://jsfiddle.net/kamela101/e6ac6jb4/

$ = uploadcare.jQuery; 
    // Create uploaded image list and append additional form fields to each item 
    function installWidgetPreviewMultiple(widget, list) { 
    widget.onChange(function(fileGroup) { 
     list.empty(); 
     if (fileGroup) { 
     $.when.apply(null, fileGroup.files()).done(function() { 

      $.each(arguments, function(i, fileInfo) { 
      // display file preview 
      var $filename = fileInfo.name;// display file name 
      var $fileurl = fileInfo.cdnUrl;// get file url 
      var $src = fileInfo.cdnUrl + '-/resize/100x100/filename.jpg';// preview image source, resize to 100X100px and jpeg file type 
      // append preview and name and form fields to each file uploaded inside thumb_list 
      list.append(
       $('<li class="thumb_list_item"><img src="' + $src+ '" alt="File Preview" class="preview-img">' + '<h4 class="filename">' + $filename + '</h4>' + '<div class="get-layer-wraper"><ul class="get-layer"><li class="layer-name"><label for="white-layer" class="layer-title">White Layer : </label></li><li><input id="white-layer" name="white-layer[]" class="layer" type="number" value="0"></li><li>PX</li></ul><div class="clear"><ul class="get-layer"><li class="layer-name"><label for="adhesive-layer" class="layer-title">Adhesive Layer : </label></li><li><input id="adhesive-layer" name="adhesive-layer[]" class="layer" type="number" value="0"></li><li>PX</li></ul><div class="clear"><ul class="get-layer"><li class="layer-name"><label for="block-layer" class="layer-title">Blocking Layer : </label></li><li><input id="block-layer" name="block-layer[]" class="layer" type="number" value="0"></li><li>PX</li></ul><div class="clear"><ul class="get-layer"><li class="layer-name"><label for="clear-layer" class="layer-title">Clear Layer : </label></li><li><input id="clear-layer" name="clear-layer[]" class="layer" type="number" value="0"></li><li>PX</li></ul></div></li>').appendTo(".thumb_list") 
      ); 
      }); 
     }); 
     } 
    }); 
    } 
$(function() { 
    $('.upload-area').each(function() { 
    installWidgetPreviewMultiple(
     uploadcare.MultipleWidget($(this).children('input')), 
     $(this).children('.thumb_list') 
    ); 
    }); 
}); 

ответ

0

Uploadcare не поддерживает PSD и функциональные возможности предварительного просмотра PDF, как сейчас. Вам придется использовать сторонний сервис, который позволит вам это сделать.