2016-09-04 3 views
1

Я использую blueimp галерею, чтобы показать некоторые загруженные изображения от клиентовBlueimp Галерея Поддержка PDF

иногда они загружать также файлы в формате PDF и в настоящее время мы должны открыть вручную, в то время как было бы здорово, чтобы быть предварительный просмотр также PDF в blueimp галерее ,

Из документации, которую я вижу, что может быть "легко" добавить поддержку другого типа контента (ы):

https://github.com/blueimp/Gallery#example-html-text-factory-implementation

с очень немного фантазии ... я пробовал:

css: 

.blueimp-gallery > .slides > .slide > .pdf-content { 
    overflow: auto; 
    margin: 60px auto; 
    padding: 0 60px; 
    max-width: 1200px; 
    text-align: left; 
    color:white; 
} 

js: 

blueimp.Gallery.prototype.applicationFactory = function (obj, callback) { 
    var $element = $('<div>') 
      .addClass('pdf-content') 
      .attr('title', obj.title); 
    $.get(obj.href) 
     .done(function (result) { 
      $element.html(result); 
      callback({ 
       type: 'load', 
       target: $element[0] 
      }); 
     }) 
     .fail(function() { 
      callback({ 
       type: 'error', 
       target: $element[0] 
      }); 
     }); 
    return $element[0]; 
}; 

    $('#blueimpGallery-button').on('click', function (event) { 
     blueimp.Gallery([ 
      { 
       title: 'Test pdf_1', 
       href: '/docs/test1.pdf', 
       type: 'application/pdf' 
      }, 
      { 
       title: 'Test pdf_2', 
       href: '/docs/test2.pdf', 
       type: 'application/x-pdf' 
      }, 
      { 
       title: 'Test pdf_3', 
       href: '/docs/test3.pdf', 
       type: 'application/x-pdf' 
      } 

     ]); 
    }) 

и довольно неожиданно .. он работает, но pdf не распознается и отображается исходный код вот так: screenshot Я могу себе представить, что, по крайней мере, м типа mime, но я понятия не имею, как исправить это

может предложить направление? Спасибо

+0

Попробуйте вместо этого загрузить файл --- https://blueimp.github.io/jQuery-File-Upload/ – Tasos

+0

Извините, я не понял ваш совет: возможно, при загрузке файла есть скрытые функции, которые могут быть использованы, но Мне нужно показать pdf в галерее – Joe

+0

у вас есть галерея в загрузке файлов + вы можете загружать любые файлы. Я полагаю, когда вы нажмете на pdf, чтобы просмотреть его, он будет использовать браузер, чтобы открыть его. В любом случае, я думаю, что вам нужно будет разделить 2. Галерея предназначена для просмотра изображений, только если там нет плагина для добавления в открытый PDF-файл в галерее – Tasos

ответ

0

Я столкнулся с аналогичной проблемой, и вот «работоспособное» решение. Я использую ASP.Net MVC.

Я обнаруживаю расширение файла и отображаю статическое изображение пиктограммы PDF, а в теге привязки я добавил пользовательское событие onclick, чтобы открыть PDF-файл в новом окне. Но убедитесь, что ваш PDF визуализируются с соответствующими заголовками (то есть «приложение/PDF»)

<span> 
@{ 
bool IsPDF = item.FileName.ToLower().EndsWith(".pdf"); 
    string resURL = Url.Action("GetFile", "MyController") + "?" + item.CodeStr; 
    string imgURL = !IsPDF ? resURL : Url.Content("~/Content/Images/pdf.png"); 
    string target = !IsPDF ? "" : " onClick=\"window.open('" + resURL + "', '_blank')\""; // SO : 13335954 
} 

<a href="@resURL" @Html.Raw(target) title="@item.FileName @item.FileTypeTitle"> 
    <img src="@imgURL" width="150px" alt="@item.Comment" /> 
</a> 
</span> 

Код специфичен для моего приложения выше в синтаксисе Razor (надеюсь, не трудно сделать вывод). Дайте мне знать, если у кого-то есть лучшее решение.

+0

Привет, спасибо за ответ и извините за поздний ответ. На самом деле я еще не нашел решение, в настоящее время я сосредоточен на других проблемах. Я оцениваю преобразование pdf в jpg/png, но я думаю, что это будет нелегко (поскольку работает в старом asp). О соответствующем заголовке: я добавил '' application/pdf'' в качестве заголовка, но не уверен, что этого достаточно: и я предполагаю, что проблема прямо там: ясно, что файл правильный pdf-файл: если я открываю в кадре или на странице, визуализируется правильно. Буду признателен Если у вас есть другие предложения. – Joe

+0

Джо, вы были бы удивлены, узнав, что Safari может преобразовать PDF-файл (например, изображение). Но другие нет. Я выбрал другой вариант - я создаю образ загруженного pdf (как xyz.pdf.img), а затем использую его в галерее! Теперь я застрял, чтобы найти бесплатный инструмент для преобразования PDF в .Net. Мой пост: http://stackoverflow.com/questions/39706662/free-pdf-to-image-tool-for-commercial-asp-net-web-app –

+0

https://sites.google.com/site/aspfpdf/tutorials Это совершенно бесплатно, и это ASP .. но классический ASP (фактически ... jscript), но он хорошо работает – Joe

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