上传插件dropzone.js实例
dropzone.js默认是Ajax上传图片给服务器,那么如何获取到图片名呢?其实我们是可以通过dropzone的success函数获取到服务器返回的数据
dropzone.js在HTML的配置如下;
Dropzone.autoDiscover = false;//防止报"Dropzone already attached."的错误
$(".dropzone").dropzone({
url: "__URL__/upload/",
addRemoveLinks: true,
dictRemoveLinks: "x",
dictCancelUpload: "x",
paramName:"userImg",
maxFiles: 10,
maxFilesize: 5,
acceptedFiles: "image/*",
init: function() { //res为服务器响应回来的数据
this.on("success", function(file, res) { //将json字符串转换成json对象
var obj = JSON.parse(res); //res为dropzone.js返回的图片路经
file.path = res; if( obj.status == 200 ){ //将服务器得到的数据生成一个隐藏域。做商品添加的时候就可以获取到了
var input = '<input type="hidden" name="'+obj.details.savename+'" value="'+obj.details.savepath+obj.details.savename+'" />';
$('.myform').append(input); }else{
alert('上传失败');
} }); this.on("removedfile", function(file) { $.ajax({
url: "改成你的php删除图片的路径",
type: "post", //file.path可以获取到点击删除按钮的那张图片
data: { 'path': file.path }
});
}); }
});
PHP的代码如下(Thinkphp代码):
public function upload()
{ /*
添加商品 :商品名、商品图片
*/ // 实例化上传类
$upload = new \Think\Upload(); // 设置附件上传大小
$upload->maxSize = 3145728 ; // 设置附件上传类型
$upload->exts = array('jpg', 'gif', 'png', 'jpeg'); //A开发者写了upload() B开发
// 设置附件上传目录
$upload->savePath = './Public/Uploads/'; //返回上传信息
$info = $upload->uploadOne($_FILES['userImg']);
// dump($info);exit;
if( !$info ) {
// 上传错误提示错误信息
// $this->error($upload->getError());
$data['status'] = 404; //错误信息
$data['msg'] = $upload->getError(); echo json_encode($data); }else{
// 上传成功 (图片路径、图片名字) $data['status'] = 200;
$data['msg'] = 'UPLOAD SUCCESS'; //图片原始名字
$data['details']['originName'] = $info['name'];
$data['details']['savename'] = $info['savename'];
$data['details']['savepath'] = $info['savepath']; echo json_encode($data);
}
}
上传插件dropzone.js实例的更多相关文章
- JavaScript 文件拖拽上传插件 dropzone.js 介绍
http://www.renfei.org/blog/dropzone-js-introduction.html
- java版-JQuery上传插件Uploadify使用实例
摘自:http://itindex.net/detail/47160-java-jquery-%E4%B8%8A%E4%BC%A0 运行效果: 包结构图: 后台JAVA逻辑: package com. ...
- 图片上传插件用法,JS语法【三】
注意点: 作为文件域(<input type="file">)必须要有name属性,如果没有name属性,上传之后服务器是获取不到图片的.如:正确的写法是<inp ...
- PHP 多图上传,图片批量上传插件,webuploader.js,百度文件上传插件
PHP 多图上传,图片批量上传插件,webuploader.js,百度文件上传插件(案例教程) WebUploader作用:http://fex.baidu.com/webuploader/gett ...
- 纯原生js移动端图片压缩上传插件
前段时间,同事又来咨询一个问题了,说手机端动不动拍照就好几M高清大图,上传服务器太慢,问问我有没有可以压缩图片并上传的js插件,当然手头上没有,别慌,我去网上搜一搜. 结果呢,呵呵...诶~又全是基于 ...
- 文件上传插件Uploadify在Struts2中的应用,完整详细实例
—>最近由于项目需要使用到一个上传插件,在网上发现uploadify挺不错,所以决定使用它,但是官网文档和例子是php的,而项目是SSI框架的,所以自己对uploadify在struts2中的使 ...
- js上传插件uploadify自动检测不到flash控件的问题
[问题描述] 项目开发中,由于使用了js的一个上传插件uploadify,下载的是flash版本的,后来在谷歌浏览器上运行时经常报flash控件未安装,虽然下图是uploadify自动检测自动弹出来的 ...
- js插件---IUpload文件上传插件(包括图片)
js插件---IUpload文件上传插件(包括图片) 一.总结 一句话总结:上传插件找到真正上传位置的代码,这样就可以知道整个上传插件的逻辑了, 找资料还是github+官方 1.如何在js中找到真正 ...
- Js 之移动端图片上传插件mbUploadify
一.下载 https://pan.baidu.com/s/1NEL4tkHoK4ydqdMi_hgWcw 提取码:vx7e 二.Demo示例 <div class="weui_uplo ...
随机推荐
- 链家鸟哥:从留级打架问题学生到PHP大神,他的人生驱动力竟然是?
链家鸟哥:从留级打架问题学生到PHP大神,他的人生驱动力竟然是?| 二叉树短视频 http://mp.weixin.qq.com/s/D4l_zOpKDakptCM__4hLrQ 从问题劝退学生到高考 ...
- 20135316王剑桥Linux内核学习笔记第四周
20135316王剑桥 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC 1000029000 1.内核态:在高执行级别,代码可 ...
- 2013337朱荟潼 Linux第四章读书笔记——进程调度
第4章 进程调度 0. 总结 调度:调度是一个平衡的过程.一方面,它要保证各个运行的进程能够最大限度的使用CP:另一方面,保证各个进程能公平的使用CPU. 调度功能:决定哪个进程运行以及进程运行多长时 ...
- wordpress学习四: 一个简单的自定义主题
在学习三里分析了自带的一个例子,本节我们就自己仿照他做个简单的吧,重点是调用wordpress封装好的函数和类,css和html可以稍好在调整. 将wp带的例子复制一份处理,重新名个名字. 清空ind ...
- YQCB冲刺第二周第六天
今天的任务为界面的美化. 昨天的任务为实现由用户设置每月初始额度的功能. 暂未遇到问题. 站立会议 任务面板
- oracle (+) 什么意思
oracle中的(+)是一种特殊的用法,(+)表示外连接,并且总是放在非主表的一方. 例如左外连接:select A.a,B.a from A LEFT JOIN B ON A.b=B.b;等价于se ...
- Linux命令(二十) 显示系统内存状态 free
一.命令简介 free 命令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存.共享内存区段,以及系统核心使用的缓冲区等. 二.参数说明 -b 以Byte为单位显示内存使用情况 -K 以KB为单位 ...
- du 显示 前面以及或者两级的目录大小的方法
mark 一下 du -h --max-depth=
- C++ main()函数及其参数
1.首先,想想C/C++在main函数之前和之后会做些什么? 我们看看底层的汇编代码: __start: : init stack; init heap; open stdin; open stdou ...
- google学术登陆不上的解决办法
打开我的电脑,依次打开C盘,Windows,System32,drivers,etc 即C:\Windows\System32\drivers\etc 用记事本打开etc文件夹中的hosts. 在 ...