layui使用OSS上传
1、首先要把aliyun-oss-sdk.js包下载下来,放到指定的目录下面 在要用的页面引入或者在index.html入口文件全局引入;
<script src="util/aliyun-oss-sdk.js"></script>
我是放到util文件下面,在util里创建公用js的文件,在里面编写

getClient: function () {
return new OSS.Wrapper({
region: 'oss-cn-shanghai', //你的oss地址 ,具体位置见下图
accessKeyId: 'LTAIREJEnnClPTln', //你的ak
accessKeySecret: '65B1DuHC2FslxxWjJXdhJyXSs7tMV5', //你的secret
bucket: 'tmxkshop' //你的oss名字
});
},
2、在你要用的页面这样写:
var client = util.getClient();
var loading = null;
$("#txtFile_up_follow").on("change", function () {
if (this.files.length > 1) return layer.msg("只能上传一张图片"); for (var i = 0; i < this.files.length; i++) {
var extensionName = this.files[i].name.substr(
this.files[i].name.lastIndexOf(".")
); // 文件扩展名
if (
!(
extensionName === ".png" ||
extensionName === ".jpg" ||
extensionName === ".jpeg"
)
)
return layer.msg("请上传png或jpg或jpeg格式图片");
}
loading = layer.load(2);
for (var i = 0; i < this.files.length; i++) {
clientUpload(this.files[i], this.files.length);
}
});
function clientUpload(fileItem, fileLength) {
arr = []; //每重新上传之前 清空arr
var datetoday = util.getTodayDate();
var randomStr = "/" + new Date().getTime() + util.randomString(4); // 4位随机字符串
var extensionName = fileItem.name.substr(fileItem.name.lastIndexOf(".")); // 文件扩展名
var fileName = "image/" + datetoday + randomStr + extensionName; // 文件名字(相对于根目录的路径 + 文件名)
client.multipartUpload(fileName, fileItem).then(function (result) {
if (result.res.status === 200) {
arr.push(result.res.requestUrls[0].split("?")[0].replace('http', 'https'));
if (arr.length >= fileLength) {
$(".accPic").attr("src", arr[0]);
$("input[name='url']").val(arr[0]);
$(".showImg").show();
} else {
$(".showImg").hide();
}
layer.close(loading);
} else {
layer.msg("文件上传失败");
}
});
}
layui使用OSS上传的更多相关文章
- c#版阿里云oss上传——基于layui、pupload的oss 后端web端直传的vue组件
废话前言 去年,做项目用到oss上传,度娘上逛了一圈写了个前后端代码结合的c#版oss上传. 今年又要用到oss上传时发现很难复用,复用改动的范围太大,显然这个轮子不合格.于是想了下,花了一天的时间( ...
- .net mvc + layui做图片上传(二)—— 使用流上传和下载图片
摘要:上篇文章写到一种上传图片的方法,其中提到那种方法的局限性,就是上传的文件只能保存在本项目目录下,在其他目录中访问不到该文件.这与浏览器的安全性机制有关,浏览器不允许用户用任意的路径访问服务器上的 ...
- .net mvc + layui做图片上传(一)
图片上传和展示是互联网应用中比较常见的一个功能,最近做的一个门户网站项目就有多个需要上传图片的功能模块.关于这部分内容,本来功能不复杂,但后面做起来却还是出现了一些波折.因为缺乏经验,对几种图片上传的 ...
- 关于 tp5.0 阿里云 oss 上传文件操作
tp5.0 结合阿里云oss 上传文件 1.引入 oss 的空间( composer install 跑下第三方拓展包及核心代码包) 备注:本地测试无误,放到线上有问题 应该是移动后的路劲(相对于服 ...
- layui结合SpringMVC上传文件以及携带额外的参数上传文件
今天在使用layui的过程中,遇到了使用其上传文件的模块.自己感觉文件上传还是bootstrapfileinput插件比较好用一些,灵活方便,bootstrapfileinput使用方法参考:http ...
- oss上传文件0字节
最近使用oss上传文件,不同项目中使用的版本也不同,之前的都能正常上传,最近因需要添加ObjectMetaData属性,扩展了一个方法,发现上传的文件始终是0字节的,最终跟源码发现conntentLe ...
- .Net之Layui多图片上传
前言: 多图上传在一些特殊的需求中我们经常会遇到,其实多图上传的原理大家都有各自的见解.对于Layui多图上传和我之前所说的通过js获取文本框中的文件数组遍历提交的原理一样,只不过是Layui中的up ...
- TP5+阿里云OSS上传文件第三节,实现淘宝上传商品图片
**TP5+阿里云OSS上传文件第三节,实现淘宝上传商品图片首先我们来看看淘宝的功能和样式:** 之后看看制作完成的演示:(由于全部功能弄成GIF有点大,限制上传大小好像在1M之内,压缩之后也有1.9 ...
- layui + jfinal 实现上传下载
1.需要把jfinal的环境配置好 2.导入相关的库文件 layui的库文件 就是这两个文件需要导入到自己的页面 注意:jfinal总会把路径拦截,所以需要静态文件处理.本人不太懂.就网上找了下,说w ...
- OSS上传文件到阿里云
最近做项目,需要上传文件,因为上传到项目路径下,感觉有时候也挺不方便的,就试了一下上传文件到阿里云oss上去了, oss的使用网上有很多介绍,都是去配置一下需要的数据,然后直接调用他的api就可以了. ...
随机推荐
- angular的发布订阅
import subject from "nxjs/subject"; let sub = new subject(); //发布订阅 sub.subscribe(data=> ...
- CompletableFuture的使用
1 List<List<String>> subList = CommonUtils.splitList(pendingIds, 500);private static fin ...
- ABAP学习(34):cl_gui_alv_grid实现Table Maintain
实现Table Maintain 通过类CL_GUI_ALV_GRID,实现Table Maintain功能. 实现效果: 1.创建Program; 2.创建空Screen 100; 3.创建GUI ...
- threadlocal应用
public class DataSourceSelector { /** * 线程threadlocal */ private static ThreadLocal<String> db ...
- vue项目中配置svg图标 cli3路径
1 添加依赖 npm install svg-sprite-loader file-loader -D 2 在components目录下新增一个IconSvg.vue文件 <template&g ...
- mysql数据库常用指令
1.查询当前连接数据库别名 select database(); Current database 项显示当前连接的数据库 2.查询数据表中当天的数据 select * from 表名 WHERE T ...
- nacos2.1 新增配置发布失败。请检查参数是否正确
使用官方的docker部署方式,部署了一个单节点nacos server,部署完了后发布配置信息,报错"新增配置发布失败.请检查参数是否正确" 解决方法: 在nacos mysql ...
- 【2020NOI.AC省选模拟#7】C. 逃课
题目链接 原题解: 我们需要找出两个距离不超过$k-1$的位置,使他们的和尽量大. 被修改过得位置比较少,所以我们可以先求出连个位置都没有被修改过的答案,然后只关心那些涉及到至少一个被修改过的位置的方 ...
- BASE64编码作业
BASE64编码作业 什么是BASE64编码 ase64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法.可查看RFC2045-RF ...
- wx小程序 组件无法使用全局样式 (app.wxss)
解决方法: 在组件中加上options选项 Component({ options: { addGlobalClass: true } })