c#版阿里云oss上传——基于layui、pupload的oss 后端web端直传的vue组件

废话前言

去年,做项目用到oss上传,度娘上逛了一圈写了个前后端代码结合的c#版oss上传。

今年又要用到oss上传时发现很难复用,复用改动的范围太大,显然这个轮子不合格。于是想了下,花了一天的时间(半天打代码,半天写随笔)重新造了个轮子


 Demo地址:https://gitee.com/orrzt/OssUpload

涉及语言框架

后端用的是c#,采用了前后端分离,前端用到的主要有layui、pupload、vue

中心思想如下:

通过vue将oss上传封装成一个vue组件,单独分离到一个js文件里,需要使用时只需引用js,在vue里注册组件,使用组件。

后端需要提供了一个api,用于获取oss临时签名,给到web端直传oss;

轮子使用方法

1.写入vue组件

<upload-file v-bind:ImgPath="ImgPath" v-on:path="backPath" filesize="1" id="ImgPath"></upload-file>  <!--id需确保页面唯一-->

3.引用必要js文件

<script src="~/js/jquery.min.js"></script>
<script src="~/js/layui/layui.js"></script>
<script src="~/js/vue.js"></script>
<script src="~/js/plupload.full.min.js.js"></script>
<script src="~/js/uploadfile.js"></script>

4.注册vue组件

 1 <script>
 2     $(function () {
 3         var app = new Vue({
 4             el: "#card",
 5             data: {
 6                 ImgPath: '',
 7                 show:false,
 8             },
 9             methods: {
10                 backPath: function (data) {
11                     var that = this;
12                     that.ImgPath = data;
13                 },
14             },
15             mounted: function () {
16                 var that = this;
17                 console.log($("#card"));
18                 that.show = true;
19             },
20             components: {
21                 'upload-file': uploadComponent
22             }
23         })
24     })
25 
26 </script>

修改的地方

 组件需要修改的地方就是 获取oss签名的api,api要求返回

{accessid:"oss accessid",host:"oss上传地址",policy:"上传策略",signature:"签名",expire:"上传策略失效时间",dir:"上传地址",filename:"文件名"}

 

注意事项

oss配置在APPsetting.json中,需要改为自己的oss配置

oss需要配置站点可信域名,所以需要发布在线上才能测试

posted @ 2020-03-01 18:57  林十八  阅读(1477)  评论(0编辑  收藏  举报