layui使用OSS上传

Posted on   矜持i  阅读(413)  评论(0编辑  收藏  举报

1、首先要把aliyun-oss-sdk.js包下载下来,放到指定的目录下面  在要用的页面引入或者在index.html入口文件全局引入;

1
<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("文件上传失败");
        }
      });
    }
复制代码

 

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了

随笔 - 10, 文章 - 0, 评论 - 0, 阅读 - 7868

Copyright © 2025 矜持i
Powered by .NET 9.0 on Kubernetes

点击右上角即可分享
微信分享提示