前端代码

<div class="logo_out" id="upload-logo"></div>

JS代码

/**
* 上传图片
*/
layui.use('upload', function () {
var upload = layui.upload;
var uploadInst = upload.render({
elem: '#upload-logo' //绑定元素
, url: "{:U('plan/imageUpload')}" //上传接口
, accept: 'file'
, done: function (res) {
console.log(res);
if (res.code === 200) {
$('.input_img').attr('src', res.url);
$('#team_logo').val(res.url);
} else {
layer.msg(res.msg, {icon: 5});
}
}
, error: function () {
layer.msg('上传异常', {icon: 2})
}
});
});

后端代码

/**
* +----------------------------------------------------------
* 图片上传
* +----------------------------------------------------------
*/
public function imageUpload()
{
$upload = new \Think\Upload(C('UPLOAD_SITEIMG_QINIU'));
$res = $upload->upload();
if ($res) {
$this->ajaxReturn(['code' => 200, 'msg' => '上传成功', 'url' => $res['file']['url']]);
} else {
$this->ajaxReturn(['code' => 100, 'msg' => $upload->getError()]);
}
}

七牛配置文件

/*七牛配置*/
'UPLOAD_SITEIMG_QINIU' => array(
'maxSize' => intval(str_replace(array('M', 'm'), array('00000000', '00000000'), ini_get('post_max_size'))),//文件大小
'rootPath' => './',
'saveName' => array('uniqid', ''),
'driver' => 'Qiniu',
'driverConfig' => array(
'secrectKey' => '1sHgOVv7CzzjGo2yXTIba',
'accessKey' => 'u-a7StH',
'domain' => 'source.baidu.com',
'bucket' => 'www',
)
),

解决办法:修改框架集成源码文件

解决完后报"incorrect region, please use up-z0.qiniup.com"这个是区域不对,所以把改成华南的域名,华东、华北的要改成相应的域名即可。

上传一些大文件需要等待状态

    layui.use('upload', function () {
var upload = layui.upload;
//执行实例
var uploadListIns = upload.render({
elem: '#addFile'
, url: '/group/studentUpload/'+gid
, accept: 'file'
, multiple: true
, exts: 'xls'
, auto: false
, bindAction: '#submitBtn' // 手动上传按钮
, before: function (obj) {
$(".adminmodule_add_content").hide();
layer.msg('批量导入中,请稍后...', {icon: 16,shade: 0.1});
}
, done: function (res, index, upload) {
if (res.code === 200) {
layer.msg(res.msg, {icon: 1}, function () {
window.location.reload();
});
}else{
layer.msg(res.msg, {icon: 2,time:5000});
}
}
, error: function (index, upload) {
layer.msg('上传异常', {icon: 2});
}
});
});

如果服务端接受文件名不是file,是使用以下数组名接受的,则需要在layui中增加参数 field字段 [设定文件域的字段名,默认为:file]

$_FILES['Filedata']

修改后

, size: '1024'
, field: 'Filedata'

 一次指定上传多个绑定

HTML

<div class="logo_out" id="upload_1"></div>
<div class="logo_out" id="upload_2"></div>
<div class="logo_out" id="upload_3"></div>
<div class="logo_out" id="upload_4"></div>
<div class="logo_out" id="upload_5"></div>
<div class="logo_out" id="upload_6"></div>

JS

layui.use('upload', function(event){
var upload = layui.upload;
//执行实例
$.each( [1,2,3,4,5,6], function(i, n){
var obj = '#upload_'+n;
var uploadInst = upload.render({
elem: obj //绑定元素
,url: "{:U('plan/imageUpload')}" //上传接口
,exts: 'jpg|png|jpeg'
,accept: 'file'
,done: function(data){
if (data.code == 200){
$(obj).find('.input_img').prop('src',data.data.url);
$(obj).find('.input_img').show()
$(obj).find('.onload_delete').show()
$(obj).find('.no_input').hide()
$(obj).find('input').val(data.data.id)
}else{
layer.msg(data.msg, {icon : 2})
}
}
,error: function(){
layer.msg('上传异常', {icon : 2})
}
});
});
});

PHP系列 | Thinkphp3.2 上传七牛 bad token 问题 [ layui.upload 图片/文件上传]的更多相关文章

  1. nodejs+phantomjs+七牛 实现截屏操作并上传七牛存储

    近来研究了下phantomjs,只是初涉,还谈不上深入研究,首先介绍下什么是phantomjs. 官网上的介绍是:”PhantomJS is a headless WebKit scriptable ...

  2. vue-element:文件上传七牛之key和异步的问题

    效果图: html 代码: <el-form-item label="Excel文件" :label-width="formLabelWidth" pro ...

  3. springmvc图片文件上传接口

    springmvc图片文件上传 用MultipartFile文件方式传输 Controller package com.controller; import java.awt.image.Buffer ...

  4. SpringMvc MultipartFile 图片文件上传

    spring-servlet.xml <!-- SpringMVC上传文件时,需要配置MultipartResolver处理器 --> <bean id="multipar ...

  5. .Net Core 图片文件上传下载

    当下.Net Core项目可是如雨后春笋一般发展起来,作为.Net大军中的一员,我热忱地拥抱了.Net Core并且积极使用其进行业务的开发,我们先介绍下.Net Core项目下实现文件上传下载接口. ...

  6. layUI框架中文件上传前后端交互及遇到的相关问题

    下面我将讲述一下我在使用layUI框架中文件上传所遇到的问题: 前端jsp页面: <div class="layui-form-item"> <label cla ...

  7. 【转载】【JAVA秒会技术之图片上传】基于Nginx及FastDFS,完成图片的上传及展示

    基于Nginx及FastDFS,完成商品图片的上传及展示 一.传统图片存储及展示方式 存在问题: 1)大并发量上传访问图片时,需要对web应用做负载均衡,但是会存在图片共享问题 2)web应用服务器的 ...

  8. HTML5文件上传器,纯脚本无插件的客户端文件上传器---Uploader 文件上传器类

    概述 客户端完全基于JavaScript的 浏览器文件上传器,不需要任何浏览器插件,但需要和jQuery框架协同工作,支持超大文件上传,其算法是将一个超大文件切片成N个数据块依次提交给服务 端处理,由 ...

  9. DVWA全级别之File Upload(文件上传)

    File Upload File Upload,即文件上传漏洞,通常是由于对上传文件的类型.内容没有进行严格的过滤.检查,使得攻击者可以通过上传木马获取服务器的webshell权限,因此文件上传漏洞带 ...

随机推荐

  1. JavaScript 之 history对象

    location.history 对象是浏览器的一个历史对象,可以用来前进和后退. 1.back() 方法 history.back(); 浏览器的历史记录会记录原来的地址,这个方法将会返回到上一页. ...

  2. xen虚拟化环境安装

    1. 操作系统安装 OEL下载地址大全: http://koumm.blog.51cto.com/703525/1283801 # uname -a Linux localhost 2.6.39-40 ...

  3. The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone 。

    The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone. 今天有Mys ...

  4. 自制Linux操作系统

    自制Linux操作系统 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.添加一块新的磁盘设备 1>.将虚拟机关机,点击"编辑虚拟机设置" 2>.点 ...

  5. 洛谷P1084 疫情控制(贪心+倍增)

    这个题以前写过一遍,现在再来写,感觉以前感觉特别不好写的细节现在好些多了,还是有进步吧. 这个题的核心思想就是贪心+二分.因为要求最小时间,直接来求问题将会变得十分麻烦,但是如果转换为二分答案来判断可 ...

  6. jquery.lazyload.js-v1.9.1延时加载插件,已兼容ie6和各大浏览器

    来源:http://www.jq22.com/jquery-info390 使用前要求: img的设置: 1.class要配上“lazy”: 2.用data-original代替src: 3.如果想要 ...

  7. js的对象创建

    创建对象 字面量的方式: var myHonda = {color: "red", wheels: 4, engine: {cylinders: 4, size: 2.2}} 就是 ...

  8. Nuxt项目中通过ESlint命令行修复格式问题

    在package.json文件中, 往往会有个类似于 "lint": "eslint --ext .js,.vue --ignore-path .gitignore .& ...

  9. [转载]sql server死锁

    SQL Server Deadlocks by Examplehttps://www.red-gate.com/simple-talk/sql/performance/sql-server-deadl ...

  10. MongoDB远程连接-命令行客户端mongo.exe

    命令行客户端mongo.exe 位于安装目录bin子目录下.MongoDB的所有可执行程序都在其中. 双击打开mongo.exe应该是默认连接本地数据库服务,因此需要用Cmd或Powershell的方 ...