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

凡科免费建站宁波最新消息今天

凡科免费建站,宁波最新消息今天,新手怎么学电商运营,聚美优品网站建设方案编写一个上传文件的组件 tuku,点击图片上传后使用FileReader异步读取文件的内容&#xff0c;读取完成后获得文件名和base64码&#xff0c;调用后端uploadApi,传入姓名和base64文件信息&#xff0c;后端存入nginx中&#xff0c;用于访问 tuku.ts组件代码&#xff1a; <templa…

编写一个上传文件的组件 tuku,点击图片上传后使用FileReader异步读取文件的内容,读取完成后获得文件名和base64码,调用后端uploadApi,传入姓名和base64文件信息,后端存入nginx中,用于访问

 tuku.ts组件代码:

<template><!-- 点击后触发方法修改父组件的值 --><el-avatar :size="80" src="imgmodelValue1" @click="drawer = true" style="cursor: pointer;"><img src="https://cube.elemecdn.com/e/fd/0fc7d20532fdaf769a25683617711png.png" /></el-avatar><el-drawer v-model="drawer" title="图片上传" :with-header="false"><el-upload class="avatar-uploader" :show-file-list="false" :on-change="onChange" :auto-upload="false"><el-icon class="avatar-uploader-icon"><Plus /></el-icon></el-upload></el-drawer></template><script lang="ts" setup>import { defineModel,ref} from 'vue';
import { uploadApi } from '@/api/index.ts';const modelValue = defineModel("tukuimg1")const onChange = (uploadFile:any, uploadFiles: any)=>{let name =uploadFile.name//FileReader是浏览器提供的API,用于异步读取文件的内容let reader = new FileReader()//使用readAsDataURL方法异步读取文件内容。uploadFile.raw应该是文件对象本身reader.readAsDataURL(uploadFile.raw)//设置FileReader的onload事件处理器,当读取操作完成时,这个函数会被调用,注意这里的file参数实际上是event对象reader.onload = (file)=>{callUploadApi(name,file.target?.result)}}const callUploadApi = (name:String,base64 :any)=>{uploadApi.upload.call({name,base64}).then((res: any)=>{modelValue.value = resdrawer.value = false})}const drawer = ref(false)</script><style scoped>
.avatar-uploader .avatar {width: 100px;height: 100px;display: block;
}
</style>
<style>
.avatar-uploader .el-upload {border: 1px dashed var(--el-border-color);border-radius: 6px;cursor: pointer;position: relative;overflow: hidden;transition: var(--el-transition-duration-fast);
}.avatar-uploader .el-upload:hover {border-color: var(--el-color-primary);
}.el-icon.avatar-uploader-icon {font-size: 28px;color: #8c939d;width: 100px;height: 100px;text-align: center;
}
</style>

使用组件

 后端api

      

uploadService代码

package com.yy.service;import cn.hutool.core.codec.Base64;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.pinyin.PinyinUtil;
import com.yy.dto.UploadDto;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;@Service
public class UploadService {@Value("${upload.path}")private String uploadPath;@Value("${upload.domain}")private  String uploadDomain;public String uploadAll(UploadDto uploadDto) {String name = uploadDto.getName();String base64 = uploadDto.getBase64();String[] base64Array = StrUtil.splitToArray(base64, "base64,");byte[] bytes = Base64.decode(base64Array[1]);//设置图片名称前使用唯一id,防止名字重复name = IdUtil.fastSimpleUUID()+"_"+name;//在保存汉字时使用拼音,汉字可能不兼容,例如iosname = PinyinUtil.getPinyin(name, "");FileUtil.writeBytes(bytes,uploadPath+name);return uploadDomain+"/images/"+name;}
}

效果:

http://www.yayakq.cn/news/877247/

相关文章:

  • 博星卓越 网站开发方案电脑上字体怎么到wordpress
  • 做网站能用ai好还是ps网站建设招标文件范本
  • 电影网站怎么做流量seo工程师招聘
  • 什么软件可以建网站建筑人才直聘网
  • 专业做包包的网站网页编辑的软件
  • 西安网站建设seo竞价住房和城乡建设部官网查证
  • 自己如何免费做网站公司做网站一般用什么域名
  • 企业官方网站建设的流程html好看的颜色代码
  • 企业网站备案需要室内设计网上教学
  • wordpress电影资源网站网站建设中首页模板下载
  • 一个简单的网站怎么做医院网站管理系统
  • 公司网站应该包括哪些内容网站优化 秦皇岛
  • 建设一个大型网站大概费用安卓手机建网站
  • 济南营销网站制作公司深圳建工建设集团有限公司
  • 郑州网站建设多少钱wordpress回到顶部
  • 溧水做网站价格宁波seo平台
  • 长宁做网站公司医院网站开发兼职
  • 关键词挖掘啊爱站网视频模板
  • 外卖网站 模板中国十大网络安全公司排名
  • 泰安高新区建设局网站初级网站开发的自我推荐
  • 网站买了服务器后该怎么做什么是可信网站认证
  • 在哪里查网站是什么时候建站自己做视频的网站吗
  • 建设一个网站需要多少钱采购网官网
  • ps上怎么做网站轮播图5G网站建设要多少个
  • 手机怎么登录自己做的网站毕业设计音乐网站开发背景
  • 创建网站的价格互联网创业项目排行榜
  • 创建网站需要注意什么北京大兴企业网站建设咨询
  • 牛魔王网站建设沈阳关键词seo
  • 如何网站里做照片大腕 网站建设
  • 沈阳建设电商网站微信小程序制作成本