当前位置: 首页 > wzjs >正文

上海市建设工程安全质量监督总站网站做广告的怎么找客户

上海市建设工程安全质量监督总站网站,做广告的怎么找客户,网站 框架网页建设,陕西优秀的企业门户网站建设首先引入静态文件: 华为云官网提供js下载的链接 然后后端提供一个公用接口,返回华为云上传的基本配置: 官网提供的链接:华为云obs信息配置 一:单个上传 huaweiyunUpload (file, fileName, name, url, size, callb…

首先引入静态文件:
在这里插入图片描述
华为云官网提供js下载的链接
在这里插入图片描述
然后后端提供一个公用接口,返回华为云上传的基本配置:
在这里插入图片描述
官网提供的链接:华为云obs信息配置

一:单个上传

huaweiyunUpload (file, fileName, name, url, size, callback, failCallBack) {// huaweiyunConfig为上面接口存储的vuex数据// 华为云上传流程var _self = thisvar obsClient = new ObsClient({ // 创建ObsClient实例access_key_id: _self.huaweiyunConfig.accessKeyId,secret_access_key: _self.huaweiyunConfig.secretAccessKey,// 这里以华北-北京四为例,其他地区请按实际情况填写server: _self.huaweiyunConfig.endPoint})var progressRate = function (transferredAmount, totalAmount, totalSeconds) {// 获取上传平均速率(KB/S)console.log(transferredAmount * 1.0 / totalSeconds / 1024)// 获取上传进度百分比_self.$set(_self, 'percent', Math.floor(transferredAmount * 100.0 / totalAmount))}obsClient.putObject({Bucket: _self.huaweiyunConfig.bucketName,Key: this.huaweiyunConfig.prefix+fileName,SourceFile: file.file,ProgressCallback: progressRate}, function (err, result) {if (err) {console.error('Error-->' + err)if (failCallBack) failCallBack(err)} else {if (result.CommonMsg.Status == 200) {// console.log('success====', result)if (callback) callback({ name: fileName, fileName: name, url: url, size: size })}}})
}

页面应用:

const url = this.huaweiyunConfig.viewPath + this.huaweiyunConfig.prefix+fileName
// file 文件流 fileName带后缀的文件名  name不带后缀的文件名 url 文件存储路径 size 文件大小
this.huaweiyunUpload(file, fileName, name, url, size, ()=>{// success function }, ()=>{// fail function})

二:分段上传

createInitTask (file, fileUrl = '', sucCallBack, failCallBack) { // 大文件上传-分段上传var _self = thisconst fileName = file.file.name // 文件名-带后缀const routeName = this.$route.matched[0].pathconst fileFullUrl = this.huaweiyunConfig.prefix + routeName + '/' + fileUrl + new Date().getTime() + '/' + fileName// 创建ObsClient实例var obsClient = new ObsClient({access_key_id: _self.huaweiyunConfig.accessKeyId,secret_access_key: _self.huaweiyunConfig.secretAccessKey,// 这里以华北-北京四为例,其他地区请按实际情况填写server: _self.huaweiyunConfig.endPoint})obsClient.initiateMultipartUpload({Bucket: _self.huaweiyunConfig.bucketName,Key: fileFullUrl,ContentType: 'text/plain',Metadata: { property: 'property-value' }}, function (err, result) {if (err) {if (failCallBack) failCallBack()} else {console.log('Status-->' + result.CommonMsg.Status)if (result.CommonMsg.Status < 300 && result.InterfaceResult) {console.log('UploadId-->' + result.InterfaceResult.UploadId)// if (createSuc) createSuc(obsClient,result, file, fileFullUrl)_self.uploadSection(obsClient, result, file, fileFullUrl, sucCallBack, failCallBack)}}})},uploadSection (obsClient, result, file, fileFullUrl, sucCallBack, failCallBack) { // 上传段var _self = thisconst PartSize = 20 * 1024 * 1024const UploadId = result.InterfaceResult.UploadId// const file = document.getElementById('input-file').files[0];const lastPartSize = file.file.size % PartSize// 段数量const count = Math.ceil(file.file.size / PartSize)let start = 1 // 当前段值const Parts = [] // 存放PartNumber, ETag// 上传第n段const uploadPart = (n, callback) => {obsClient.uploadPart({Bucket: _self.huaweiyunConfig.bucketName,Key: fileFullUrl,// 设置分段号,范围是1~10000PartNumber: n,// 设置Upload IDUploadId,// 设置将要上传的大文件SourceFile: file.file,// 设置分段大小PartSize: count === n ? lastPartSize : PartSize,// 设置分段的起始偏移大小Offset: (n - 1) * PartSize}, function (err, result) {if (err) {console.log('Error-->' + err)if (failCallBack) failCallBack()} else {console.log('Status-->' + result.CommonMsg.Status)if (result.CommonMsg.Status < 300 && result.InterfaceResult) {// console.log('ETag-->' + result.InterfaceResult.ETag);Parts.push({ PartNumber: n, ETag: result.InterfaceResult.ETag })start++if (start <= count) uploadPart(start)if (callback) callback()if (n === count) { // 最后一段_self.mergeSection(obsClient, UploadId, Parts, fileFullUrl, file, sucCallBack, failCallBack)}}}})}// 上传段uploadPart(start)},mergeSection (obsClient, UploadId, Parts, fileFullUrl, file, sucCallBack, failCallBack) { // 合并段var _self = thislet fileName = file.file.name // 文件名-带后缀const size = file.file.size // 文件大小 Bvar index = fileName.lastIndexOf('/')fileName = fileName.substring(index + 1,fileName.length)const arr = fileName.split('.')arr && arr.splice(arr.length - 1, 1)const name = arr && arr.join('.') // 文件名-不带后缀const url = this.huaweiyunConfig.viewPath + fileFullUrl // 完整urlobsClient.completeMultipartUpload({Bucket: _self.huaweiyunConfig.bucketName,Key: fileFullUrl,// 设置Upload IDUploadId: UploadId,Parts: Parts}, function (err, result) {if (err) {console.log('Error-->' + err)if (failCallBack) failCallBack()} else {// console.log('Status-->' + result.CommonMsg.Status)if (sucCallBack) sucCallBack({ name: fileName, fileName: name, url: url, size: size })}})}

页面应用:

this.createInitTask(file, fileFullUrl, (obj) => {that.fileList = []that.fileList.push({ name: obj.fileName, appendixName: obj.name, appendixUrl: obj.url, size: obj.size })that.batchUploadWorkFilesAjax(that.fileList)
}, () => { that.btnLoading = false })
http://www.dtcms.com/wzjs/1112.html

相关文章:

  • 广西网络营销外包公司seo公司怎么样
  • 怎么用自己的服务器做网站免费开源代码网站
  • 自己做的网站怎么改背景图seo的流程是怎么样的
  • 怎么用新浪云做淘宝客网站网页制作官方网站
  • 东莞网页设计教程郑州纯手工seo
  • 响应式英文网站建设seo及网络推广招聘
  • 登录网易企业邮箱优化建站
  • 怎么自己做APP网站seo点击软件手机
  • 网站建设:成都今网科技长沙seo
  • 炉石卡牌制作网页seo排名优化培训价格
  • jsp源码做网站买链接
  • 白银市建设局网站甲马营seo网站优化的
  • 有什么网站可以做宣传图片seo优化seo外包
  • 前端做的网站seo刷网站
  • b站推广链接域名查询平台
  • 免费网站建站一级av东莞搜索优化十年乐云seo
  • jsp购物网站开发 论文中国搜索引擎排名
  • 网站设计与制作是做什么工作bing搜索引擎下载
  • php教育视频网站开发百度竞价推广的优势
  • 聊城专业做网站百度官网首页登录
  • 中华建设杂志网站排行榜网站
  • 行业网站运营计划搜狗提交入口网址
  • 中小型企业网站的设计与开发电商培训机构排名前十
  • 网站开发的整体职业规划佛山seo联系方式
  • 手机wap网站建设解决方案seo优化推广
  • 企业网站建设有几种形式网站如何做优化推广
  • 重庆经典论坛新闻评论广州seo报价
  • 网站如何更换域名网络营销有哪些推广方式
  • 一步步教会你怎么做网站知识付费小程序搭建
  • 腐女喜欢做的网站拓客app下载