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

网站开发培训少儿江苏省城乡建设厅建设网站

网站开发培训少儿,江苏省城乡建设厅建设网站,100%上热门文案,wordpress访问很慢写一个vue3 上传aws oss存储的案例 使用到的插件 npm install aws-sdk/client-s3 注意事项 : 1. 本地调试 , 需要设置在官网设置跨域 必须!!! 否则调试不了 ,前端代理是不起作用的 ,因为是插…

写一个vue3 上传aws oss存储的案例

使用到的插件

npm install @aws-sdk/client-s3

注意事项 :

1. 本地调试 , 需要设置在官网设置跨域  必须!!! 否则调试不了 ,前端代理是不起作用的 ,因为是插件sdk的直接调用

2. 此方法只针对后端懒鬼 直接让前端使用ACCESS_KEY_ID 和AWS_SECRET_ACCESS_KEY 进行直传  正经开发不推荐 

友好的谷歌插件 :Fileon - S3 Browser   可以直观查看存储桶

封装组件代码示例  UploadImage.vue

<template><div><inputref="fileInput"class="absolute top-[-10000px] left-[-10000px]"type="file"id="file"name="file"accept="image/png, image/jpeg, image/gif, image/jpg"@change="handleFileChange"/><!-- <button @click="$refs.fileInput.click()">选择文件</button> --><!-- <button @click="uploadFile">上传文件</button> --></div>
</template><script setup>
import { S3Client, PutObjectCommand } from "@aws-sdk/client-s3";
import { ref, defineEmits } from "vue";const s3Client = new S3Client({region: "ap-southeast-1",credentials: {accessKeyId: import.meta.env.VITE_APP_AWS_ACCESS_KEY_ID,secretAccessKey: import.meta.env.VITE_APP_AWS_SECRET_ACCESS_KEY,},
});const chooseFile = () => {fileInput.value.click();
};const fileInput = ref(null);
const selectedFile = ref(null);const handleFileChange = (event) => {selectedFile.value = event.target.files[0];//将input读取到的File格式的图片文件 转为base64提供访问convertFileToUrl(event.target.files[0]);
};
const convertFileToUrl = (file) => {const reader = new FileReader();reader.onload = (e) => {let imageUrl = e.target.result;// console.log("imageUrl", imageUrl);// 文件读取完成后,将结果发送给父组件emit("file-chosen", e.target.result);};reader.readAsDataURL(file);
};const uploadFile = async () => {console.log("开始上传文件", selectedFile.value, selectedFile.value.name);if (!selectedFile.value) return console.log("未选择文件");try {const bucketName = "hy-bucket11";const key = `uploads/${selectedFile.value.name}`;const params = {Bucket: bucketName,Key: key,Body: selectedFile.value,};const command = new PutObjectCommand(params);await s3Client.send(command);console.log("文件上传成功");// 访问地址// [$Schema]://[$Bucket].[$Endpoint]/[$Object]console.log("https://hy-bucket11.ap-southeast-1.amazonaws.com/uploads/" +selectedFile.value.name);} catch (error) {console.error("文件上传失败", error);}
};// 暴露方法给父组件
defineExpose({ chooseFile, uploadFile });
// 调用父组件方法
const emit = defineEmits(["file-chosen"]);
</script><!-- 父组件调用示例 导入组件 -->
<!-- <UploadImage ref="uploadImageRef" @file-chosen="handleFileChosen" /> --><!-- 父组件调用示例 选择图片 -->
<!-- const selectImag = () => {uploadImageRef.value?.chooseFile();
}; --><!--父组件调用示例 图片回传 -->
<!-- const handleFileChosen = (base64Url: any) => (checkImage.value = base64Url); --><!--父组件调用示例 上传文件 --><!-- uploadImageRef.value?.uploadFile(); -->

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

相关文章:

  • 使用oss做静态网站网站负责人彩色验照
  • 推客易可以做自己的网站吗net创建网站之后怎么做
  • 做外贸如何访问国外网站小程序开发怎么做
  • 保定集团网站建设可以把网站服务器放在哪里
  • 编程网站开发培训公司网站的个人主页怎么做
  • 基于asp网站开发 论文阿里云学生服务器购买
  • 荥阳网站建设荥阳郑州网站建设zzmshl
  • 网站建设的费用明细网站分站系统
  • 软件设计学什么课程铁力seo
  • 济南广运建设公司网站wordpress 5.2.1添加中文
  • 网站建设项目实践需要推广的软件
  • 金融行业网站制作电商网站设计周志
  • 网站备案和域名备案中国建设信息
  • 建设外汇网站宿迁网站建设流程
  • 做网站和做推广的区别网站建设技术开发
  • 西宁网站建设最好的公司网站开发和网页上传的说法
  • iis 配置网站详解品牌营销策略研究
  • wordpress模板 门户网站河北省住房和城乡建设厅官网
  • 郑州网页网站制作wordpress萨隆设置
  • 网站建设好以后怎么管理网页制作学什么
  • 提供邯郸做移动网站做宣传册的公司
  • 做废钢那个网站好网站服务器租赁费用
  • 深圳微信网站运营网络营销与策划书
  • 简单网站开发实例总结电脑网站兼职在哪里做
  • 苍南县规划建设局网站南宁做网站费用
  • 石家庄网站建设时光wordpress 地理位置签到
  • 用ps怎么做网站背景台州企业网站搭建价格
  • 专题网站建设意义何在网站开发简单的框架
  • 建立网站专业公司婚庆网站哪个网站好
  • 展示型网页设计公司seo建站外贸