Dropzone跨平台缩略图生成

时间:2015-07-18 07:25:56

标签: javascript thumbnails dropzone.js

我正在使用Dropzone进行图片上传,并注意到了两个问题:

  1. 同一图像的缩略图生成在某些浏览器中失败,例如对于附加的图像,缩略图在chrome中正确生成,在safari中为空白,在firefox中仅为灰色背景。
  2. 在safari中,大多数缩略图都已正确生成,但不适用于某些尺寸/宽高比。例如再次附加图像,如果水平拉伸,safari将生成缩略图,否则不会。
  3. 更新

    我现在已经确定这是由" null"缩略图宽度的参数。将其设置为值可修复所有浏览器中的问题。理想情况下,我想以其原始宽高比显示缩略图,但似乎对于如上所述的某些尺寸/浏览器来说这是失败的。

    是否有针对此的修复或解决方法,以便我可以以原始宽高比显示我的缩略图?

    Dropzone初始化代码:

    var photosDropzone = new Dropzone("#photosContainer", { url: "{% url 'ajax_photo_upload_view' %}", maxFilesize: 4, 
        acceptedFiles: 'image/*', addRemoveLinks: true, 
    dictRemoveFile:'Delete', thumbnailHeight:160, thumbnailWidth:null, });
    

    enter image description here

2 个答案:

答案 0 :(得分:0)

尝试使用以下CSS

.dropzone .dz-default.dz-message {
  opacity: 1;
  -ms-filter: none;
  -webkit-filter: none;
  filter: none;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
  background: #fff;
  background-repeat: no-repeat;
  background-position: 0 0;
  position: absolute;
  width: 428px;
  height: 123px;
  margin-left: -214px;
  margin-top: -61.5px;
  top: 50%;
  left: 50%;
  font-size: 20px;
}
.dropzone .dz-preview{
  margin: 0 10px !important;
}

.thumbnail {
  height: 150px;
  width: 150px;
  margin: 10px;

}

.thumbnail img{
  min-height: 100px;
  min-width: 100px;
  height: 100px;
  width: 100px;
}


.dropzone img {
  border-radius: 10px;
  vertical-align: middle;
  min-width: 100px;
  min-height: 100px;
}

答案 1 :(得分:-2)

您可能需要根据原始的宽高比和尺寸计算新宽度。

有关如何执行此操作的建议,请参阅此其他Stack Overflow Q / A:

Algorithm to resize image and maintain aspect ratio to fit iPhone