javascript-如何使用Dropzone.js向您显示已存储在服务器上的文件

我不明白... call其始终未定义

创建模拟文件:

var mockFile = { name: "Filename", size: 12345 };

调用默认的addedfile事件处理程序

myDropzone.options.addedfile.call(myDropzone, mockFile);

并且可以选择显示文件的缩略图:

myDropzone.options. thumbnail.call(myDropzone, mockFile, "/image/url");

9个解决方案

44 votes

终于!!

$(function() {

var mockFile = { name: "banner2.jpg", size: 12345 };

var myDropzone = new Dropzone("#my-awesome-dropzone");

myDropzone.options.addedfile.call(myDropzone, mockFile);

myDropzone.options.thumbnail.call(myDropzone, mockFile, "http://localhost/test/drop/uploads/banner2.jpg");

})

Marcogomesr answered 2019-12-27T05:40:15Z

34 votes

您也可以使用以下代码:

Dropzone.options.myAwesomeDropzone = false;

Dropzone.autoDiscover = false;

$("#image").dropzone({

url: "http://someserver.com/upload.php",

paramName: "image", // The name that will be used to transfer the file

maxFilesize: 2, // MB

maxFiles: 5,

parallelUploads: 5,

addRemoveLinks: true,

dictMaxFilesExceeded: "You can only upload upto 5 images",

dictRemoveFile: "Delete",

dictCancelUploadConfirmation: "Are you sure to cancel upload?",

accept: function (file, done) {

console.log(file)

if ((file.type).toLowerCase() != "image/jpg" &&

(file.type).toLowerCase() != "image/gif" &&

(file.type).toLowerCase() != "image/jpeg" &&

(file.type).toLowerCase() != "image/png"

) {

done("Invalid file");

}

else {

done();

}

},

init: function () {

var mockFile = { name: "myimage.jpg", size: 12345, type: 'image/jpeg' };

this.addFile.call(this, mockFile);

this.options.thumbnail.call(this, mockFile, "http://someserver.com/myimage.jpg");

}

});

编辑

由于Dropzone 4.0的更新init函数可以称为:

init: function () {

var mockFile = { name: "myimage.jpg", size: 12345, type: 'image/jpeg' };

this.options.addedfile.call(this, mockFile);

this.options.thumbnail.call(this, mockFile, "http://someserver.com/myimage.jpg");

mockFile.previewElement.classList.add('dz-success');

mockFile.previewElement.classList.add('dz-complete');

}

Vicky Gonsalves answered 2019-12-27T05:40:44Z

17 votes

我的解决方案> = 4.0,基于“如何显示已经存储在服务器上的文件”:[https://github.com/enyo/dropzone/wiki/FAQ]

maxFiles: 1,

init: function () {

this.on('maxfilesexceeded', function (file) {

this.removeAllFiles();

this.addFile(file);

});

var mocks = $dropzone.data('dropzone');

for (var i = 0; i < mocks.length; i++) {

var mock = mocks[i];

mock.accepted = true;

this.files.push(mock);

this.emit('addedfile', mock);

this.createThumbnailFromUrl(mock, mock.url);

this.emit('complete', mock);

}

}

punky answered 2019-12-27T05:41:04Z

6 votes

基于以上punky的出色回答,您不应忘记在最后添加this._updateMaxFilesReachedClass();,如下所示:

init: function () {

var mockFile = { name: , size: , type: , url: };

this.files.push(mockFile);

this.emit('addedfile', mockFile);

this.createThumbnailFromUrl(mockFile, mockFile.url);

this.emit('complete', mockFile);

this._updateMaxFilesReachedClass();

}

Oded Davidov answered 2019-12-27T05:41:24Z

5 votes

在此答案中,[https://stackoverflow.com/a/17763511]通过执行缩略图事件来实现。

以下是使用createThumbnailFromUrl进行操作的示例。

HTML元素;

JS代码;

previewThumbailFromUrl({

selector: 'sample-img',

fileName: 'sampleImg',

imageURL: '/images/sample.png'

});

function previewThumbailFromUrl(opts) {

var imgDropzone = Dropzone.forElement("#" + opts.selector);

var mockFile = {

name: opts.fileName,

size: 12345,

accepted: true,

kind: 'image'

};

imgDropzone.emit("addedfile", mockFile);

imgDropzone.files.push(mockFile);

imgDropzone.createThumbnailFromUrl(mockFile, opts.imageURL, function() {

imgDropzone.emit("complete", mockFile);

});

}

JSFiddle上的工作样本:

将图片加载到同一域

使用crossOrigin加载图像

gihanchanuka answered 2019-12-27T05:42:10Z

0 votes

我也很难过。 以此为起点可以帮助更多:

Dropzone.autoDiscover = false; // otherwise will be initialized twice

var myDropzoneOptions = {

maxFilesize: 5,

addRemoveLinks: true,

clickable: true

};

var myDropzone = new Dropzone('#myDropzoneElement', myDropzoneOptions);

var mockFile = { name: "Existing file!", size: 12345 };

myDropzone.options.addedfile.call(myDropzone, mockFile);

myDropzone.options.thumbnail.call(myDropzone, mockFile, "http://url-to-thumb-goes-here");

envision answered 2019-12-27T05:42:29Z

0 votes

在版本> 5中,createThumbnailFromUrl的参数已更改。要使其再次起作用,请查看以下GitHub问题:[https://github.com/enyo/dropzone/issues/1587#issuecomment-324023260]

Paul Beck answered 2019-12-27T05:42:50Z

0 votes

var mockFile = { name: "banner2.jpg", size: 12345, uuid: "085b2b23-70e7-4175-8355-89937d8d46f2" };

myDropzone.emit("addedfile", mockFile);

myDropzone.options.thumbnail.call(myDropzone, mockFile, "https://your-thumbnail-image.jpg");

在Dropzone-Object的Init-Function上init:function(){调用此命令:

this.on("addedfile", function(file) {

//Access the preview element with file.previewElement and add event listeners, etc... to it.

var a = document.createElement('a');

a.setAttribute('href',"{{{protokoll}}}://{{{HTTP_HOST}}}/a-getfiledb.php?uuid="+file.uuid);

a.setAttribute('class',"btn btn-success");

a.setAttribute('style',"width:50%; margin-top:5px; border-left:1px solid black; cursor:pointer;");

a.innerHTML = "";

file.previewTemplate.appendChild(a);

});

-2 votes

你可以尝试一下

var file_image = "http://someserver.com/myimage.jpg";

var mockFile = { name: "myimage.jpg", size: 12345 };

$("#dropzone").dropzone({

url: 'false',

maxFiles: 1,

maxFilesize:10,//mb

acceptedFiles:'image/*',

init: function() {

this.on("addedfile", function(file){

this.options.thumbnail.call(this,file,file_image);

});

this.addFile.call(this,mockFile);

}

});

Algoleigol answered 2019-12-27T05:43:30Z

dropzone.js应用java_javascript-如何使用Dropzone.js向您显示已存储在服务器上的文件...相关推荐

  1. js 下载服务器上的文件

    今天用js下载服务器上的文件txt时,文件总是被打开,而不是下载. 解决方法: 直接下载txt文件是实现不了的,将txt文件压缩成rar格式,这样再去下载就没有问题了.(这也是为什么很多下载的文件都为 ...

  2. dropzone.js php,超详细版Dropzone.js上传插件的使用实例-适用tp

    其实一直都再找一款上传插件,但是今天遇到了一款相对比较好的插件,干净纯洁. [![](https://cdn.micuer.com/data/upload/20210121/60091f0d95453 ...

  3. JS实现限制input上传文件的大小和格式

    场景 在实现Excel导入数时,需要上传excel格式的文件. 在前端js进行判断,限制上传文件的大小和格式. 实现 html页面代码可以通过accept属性来筛选打开文件的格式. <form ...

  4. 实现拖拽上传文件的一款小控件——dropzone

    由于专注所以专业.非常多小巧的东西乍一看非常不起眼,却在特定的领域表现不俗,就是由于集中了热情. dropzone就是这样一款小控件,实现拖拽上传.它不依赖于其他像jquery等JS库.并且支持多方面 ...

  5. dropzone java多文件_dropzone上传文件

    先上张效果图吧 1.引入dropzone的js和css文件 2.html这里我用了一个form,当然你也可以直接用一个div,无论你用什么都要加上class="dropzone" ...

  6. node.js中模块_在Node.js中需要模块:您需要知道的一切

    node.js中模块 by Samer Buna 通过Samer Buna 在Node.js中需要模块:您需要知道的一切 (Requiring modules in Node.js: Everythi ...

  7. skycons.js 基于canvas的天气动态js插件

    skycons.js 基于canvas的天气动态js插件 skycons.js是一个开源的javascript天气动画图标渲染器.相当于gif动图一样. skycons CDN地址:https://w ...

  8. [原创]使用ajaxFileUpload.js上传文件时附带额外参数。

    最近公司的一个项目涉及到导入Excel的功能,于是就想到用ajaxFileUpload来实现上传文件,因为用过很多次了,网上也有很多文章介绍.使用方法不表.但是在附带参数这个环节卡住了:文件可以上传到 ...

  9. Node.js 系列:构建原生 Node.js 应用

    原生 Node.js 应用 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境 Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效 Nod ...

最新文章

  1. h5执行php函数,值得一个的5个强大的HTML5API 函数
  2. Virtual Box6.1安装并创建CentOS-6.5虚拟机以及网络配置(静态IP)、防火墙关闭、yum源配置、安装JDK8、安装perl
  3. boost::mp11::mp_min相关用法的测试程序
  4. YBTOJ:单词频率(AC自动机)
  5. db2 命令选项解释
  6. FFmpeg示例程序合集-Git批量获取脚本
  7. x201 温度过高 反应慢 硬盘搜索时更慢更热 为什么呢?
  8. 基于FTP4J组件的FTP操作客户端
  9. java map 容器_java容器-map的常用实现及原理
  10. 国二mysql综合应用题答案_2017年9月全国计算机二级MySQL考试章节练习题
  11. 入秋的第一篇数据结构算法:看看归并与快排的风采,三面蚂蚁金服成功拿到offer
  12. 天融信EDR或企业安全终端卸载需要密码解决办法
  13. 有些东西,你学不来的
  14. 七夕,思念里的流浪狗在哭---众智云
  15. html中加粗的字体如何改细,css font-weight 属性设置文本字体的粗细
  16. python声纹识别_【kaldi学习.4】Aishell V1(说话人识别、声纹识别)中的run.sh详解...
  17. 【pkgs.org】linux/uinx依赖包源网站推荐+如何添加该网站到debian源
  18. 图灵C/C++图书阅读路线图
  19. 心理测评软件php mysql_心理测量软件_心理测评系统
  20. 【渝粤教育】 国家开放大学2020年春季 1308外国文学专题 参考试题

热门文章

  1. 51单片机函数发生器
  2. Tensorflow项目实现汇总(不断更新...)
  3. 物联网硬件安全分析基础-硬件分析初探
  4. Windows下启动Redis失败,报错creating server tcp listening socket 127.0.0.1:6379: bind No error
  5. what's the meaning of Shell?
  6. 2021年资源、环境与绿色经济国际学术会议 (CREGE 2021)
  7. 6种常见架构设计安全误区
  8. 出租车司机 - 人才!
  9. 什么是单片机?单片机的组成部分有哪些?
  10. 6-PACK论文学习及复现记录