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

企业网站维护是指微信链接的微网站怎么做的

企业网站维护是指,微信链接的微网站怎么做的,求个网站2021能用的,网络营销的具体形式种类#今天用el-upload感到很多不方便,遂决定自己封装一个。注:本文不提供表面的按钮样式和文件上传成功后的样式,需要自己创建。本文仅介绍逻辑函数# 1,准备几个表面用来指引上传的元素 2,创造统一的隐藏文件上传输入框&…

        #今天用el-upload感到很多不方便,遂决定自己封装一个。注:本文不提供表面的按钮样式和文件上传成功后的样式,需要自己创建。本文仅介绍逻辑函数#

1,准备几个表面用来指引上传的元素

2,创造统一的隐藏文件上传输入框,监听文件改变函数来监听文件的上传

    <input type="file"ref="fileInput" class="hidden" @change="handleFileUpload" :accept="currentFileType" 
/>

你放在哪里都行,反正要隐藏起来,用来调用点击事件

3,准备文件上传的Ref和上传成功的文件的数组,记得ref要绑定上面的输入框

  1. 创造ref绑定输入框,用于读取上传到文件相关信息
  2. 创建上传数组用于存放上传文件组合,有文件名字,文件类型,文件路径(图片和视频才有),文件大小
// 文件上传ref
const fileInput = ref<HTMLInputElement | null>(null)
// 上传的文件列表
const uploadedFiles = reactive<{name: string;type: 'file' | 'image' | 'video';url?: string;size: string;
}[]>([]);

4,点击表面的上传按钮时,调用隐藏的上传输入框的click事件

        事件要绑定在上面的隐藏输入框

const handleFile = () => {fileInput.value?.click()
}

5, 处理文件上传函数

  1.  如果文件数组为空则返回
  2. 检查文件大小,如果为video视频文件并且文件大小大于100MB同样返回
  3. 确定文件类型,同样使用startsWith函数
  4. 添加到文件上传列表中,包含名字,类型,创造的url(视频或图片才有),大小(格式化函数返回)
  5. 最后清除文件上传框
const handleFileUpload = (event: Event) => {const input = event.target as HTMLInputElement;if (!input.files || input.files.length === 0) {alert('您没有上传文件')return};Array.from(input.files).forEach(file => {// 检查视频文件大小if( file.type.startsWith('video/') && file.size > 100 * 1024 * 1024){alert(`视频文件${file.name}太大, 请限制在100MB以内`);return}// 确定文件类型let fileType: 'file' | 'image' | 'video' = 'file';if (file.type.startsWith('image/')) {fileType = 'image';} else if (file.type.startsWith('video/')) {fileType = 'video';}// 添加到上传列表uploadedFiles.push({name: file.name,type: fileType,url: fileType !== 'file' ? URL.createObjectURL(file) : undefined,size: formatFileSize(file.size)});alert(`已经添加:${file.name}`)})input.value = '';
}

6,格式化函数,用来计算文件大小,传入函数为文件的大小,单位B

  1. 定义大小四个单位
  2. 循环计算哪个大小单位,每次除以1024
  3. 最后返回得到的size是除完后的结果,toFixed保留一位小数
const formatFileSize = (bytes: number): string => {const units = ['B', 'KB', 'MB', 'GB']let size = byteslet unitIndex = 0while (size >= 1024 && unitIndex < units.length -1){size /= 1024unitIndex++;}return `${size.toFixed(1)} ${units[unitIndex]}`
}

7, 删除文件函数,需要绑定在删除元素上

比如绑定在文件删除按钮,点击时触发,传入文件数组的对应索引

  1. 如果对应文件存在URL路径,需要统一肢解路径,使用函数URL.revokeObjectURL(对应url字符串)
  2. splice根据索引删除对应元素
const removeFile = (index:number) =>{if (uploadedFiles[index].url)URL.revokeObjectURL(uploadedFiles[index].url)uploadedFiles.splice(index, 1)alert.warning('已删除文件')
}

8,清除函数,在组件销毁前调用

同第七条,在组件关闭前调用URL.revokeObjectURL函数解放url,防止永远无法复用

// 清理函数
const cleanupBlobUrls = () =>{uploadedFiles.forEach(file => {if (file.url)URL.revokeObjectURL(file.url)})
}
// 在组件销毁前调用
onBeforeUnmount(() => {cleanupBlobUrls()
})

9,最后在HTML中自由渲染函数即可 


  补充:

  • startWith函数:startsWith()用于确定此字符串是否以指定字符串的字符开头,并根据需要返回truefalse

  • 输入文件通过event.target.files去寻找,为上传文件组成的数组,有type,name,size等属性
  • URL.createObjectURL()接受文件(比如图片和视频),创建URL一个字符串,是一串指向传入文件的URL路径。
  • URL.revokeObjectURL()接受URL路径,释放URL和原本对应文件的链接


文章转载自:

http://B0ShZTX2.xcnwf.cn
http://ZZ8a0cm7.xcnwf.cn
http://2Xrls8Xi.xcnwf.cn
http://6trQxbVj.xcnwf.cn
http://44DTPJWa.xcnwf.cn
http://vLRMb6Wa.xcnwf.cn
http://hoZUBuSx.xcnwf.cn
http://mPzY0vA8.xcnwf.cn
http://a0zq1XkA.xcnwf.cn
http://4av27j1w.xcnwf.cn
http://786CKhEO.xcnwf.cn
http://FQMVNaR0.xcnwf.cn
http://dcNtCe1W.xcnwf.cn
http://KOSL9pKh.xcnwf.cn
http://Pz3ckhgk.xcnwf.cn
http://MLQV4Xrx.xcnwf.cn
http://2x3NlYPm.xcnwf.cn
http://Sk5UXSg2.xcnwf.cn
http://ARxYOj1x.xcnwf.cn
http://UbnzyfUk.xcnwf.cn
http://iGIYr7Vt.xcnwf.cn
http://8VjE5T1e.xcnwf.cn
http://heodatHX.xcnwf.cn
http://teh3vCMO.xcnwf.cn
http://jwMJqyKP.xcnwf.cn
http://QLd9yp0f.xcnwf.cn
http://ptHVZwP5.xcnwf.cn
http://RFOopOi3.xcnwf.cn
http://oAVeDB6e.xcnwf.cn
http://XIfMX3Sb.xcnwf.cn
http://www.dtcms.com/wzjs/641320.html

相关文章:

  • 柳江企业网站建设价格网络安全薪水一般多少
  • 合肥做网站的企业深圳网站设计 深圳市利
  • 5建网站南宁企业建站系统
  • 微网站官网做视频网站 视频放在哪里找
  • 如何提高网站吸引力驰业传媒网站建设
  • 科技公司网站设计服务企业形象设计案例
  • 常州 做网站营销策划方案设计的技巧
  • 唐山营销型网站建设网站平台搭建技术
  • wordpress换主题了百度seo是什么意思
  • 个人网站开发的论文html5手机编程软件
  • 龙华网站设计wordpress 提权
  • 电子商城网站建设项目规划书wordpress 国外主题
  • 做网站彩票代理多少钱啊自适应网站如何做移动适配
  • 有了ddns怎么建设网站阿里云自己做网站
  • 手表网站欧米茄官网宝付网络科技上海有限公司
  • 织梦网站系统wordpress文章设置仅会员可见
  • 网站系统模板中小企业网站建设平台
  • 做静态网站接单个人网站免费推广
  • 乔柘云智能建站工程公司排名
  • 建网站的网络公司葫芦岛做网站的公司
  • 软件网站建设专业网站发帖百度收录
  • 嘉兴手机模板建站南昌网站建设报价单
  • 滁州市重点工程建设管理局网站河北省住房建设厅网站首页
  • 网站优化流程设计之家素材
  • 西安做营销型网站国外网站做家具哪个好
  • 免费网站模版 好用的品牌vi设计案例分析
  • 如何搭建个人网站网站建设及运营个人心得
  • 网站建设属于销售费用重庆建设集团网站首页
  • 海外网站推广公司加强公司网站平台建设的意义
  • 网站更换服务器要重新备案吗给公司网站做seo的好处