关于vue3中动态使用img标签(本地资源)记录

关于img标签中对本地图片动态赋值被识别为网络资源,找不到图片相关内容的记录与解决。

错误写法:
<div class="main-box" v-for="(item,index) in ltMsg" :key="index">
            <img :src="'@/assets/multi-source/lt-'+(index+1)+'.png'">
</div>

将该地址识别为网络资源,无法正常显示

正确写法1:

适用于图片命名有规律的情况

<div class="main-box" v-for="(item,index) in ltMsg" :key="index">
            <img :src="require('@/assets/multi-source/lt-'+(index+1)+'.png')">
</div>

正确写法2:

适用于图片命名无规律的情况

<div class="main-box" v-for="(item,index) in ltMsg" :key="index">
            <img :src="item.img">
</div>
...
import img1 from "@/assets/lt-1.png";
import img2 from "@/assets/lt-2.png";
import img3 from "@/assets/lt-3.png";
import img4 from "@/assets/lt-4.png";
...
const ltMsg = ref(
[
        {img: img1, title: 'xx个数', num: '3'},
        {img: img2, title: 'xx个数', num: '7'},
        {img: img3, title: 'xx个数', num: '9'},
        {img: img4, title: 'xx个数', num: '34'}
      ]
### 如何在 Vue2 项目中集成和使用腾讯云存储服务 #### 准备工作 为了实现 Vue2 项目的文件上传功能并将其与腾讯云对象存储 (COS) 结合,需完成以下准备工作: - **创建 COS 存储桶**:通过腾讯云控制台创建一个新的存储桶,并将访问权限设置为“公有读私有写”[^4]。 - **安装依赖库**:确保本地开发环境已经安装 `cos-js-sdk-v5` 库用于操作 COS。 ```bash npm install cos-js-sdk-v5 --save ``` --- #### 初始化 SDK 并配置参数 引入腾讯云 COS 的 JavaScript SDK 后,初始化客户端实例: ```javascript // main.js 或者单独的服务模块 import COS from &#39;cos-js-sdk-v5&#39;; const cos = new COS({ SecretId: &#39;您的SecretId&#39;, // 替换为您自己的密钥 ID SecretKey: &#39;您的SecretKey&#39; // 替换为您自己的密钥 Key }); ``` 上述代码中的 `SecretId` 和 `SecretKey` 可以从腾讯云账户的安全管理页面获取。需要注意的是,在生产环境中应避免直接暴露这些敏感信息,建议采用临时密钥机制[^3]。 --- #### 文件上传逻辑 以下是基于 Vue2 实现的文件上传方法示例: ```javascript methods: { uploadFile(file) { const that = this; cos.putObject({ Bucket: &#39;your-bucket-name-1250000000&#39;, // 更改为实际存储桶名称 Region: &#39;ap-guangzhou&#39;, // 更改为目标区域名 Key: file.name, // 定义目标路径下的文件名 Body: file // 待上传的文件对象 }, function(err, data) { if (!err && data.statusCode === 200) { console.log(&#39;Upload successful:&#39;, data.Location); alert(`文件上传成功! 地址: ${data.Location}`); } else { console.error(&#39;Error uploading file:&#39;, err); alert(&#39;文件上传失败&#39;); } }); }, handleFileChange(event) { const files = event.target.files || []; if (files.length > 0) { this.uploadFile(files[0]); } } } ``` 在此代码片段中,当用户选择一个文件时会触发 `handleFileChange` 方法,进而调用 `uploadFile` 执行具体的上传流程[^2]。 --- #### 展示远程资源 假设您已经在 COS 中存有一些静态资源,则可以通过 URL 方式加载它们到前端应用里。例如图片展示组件可以这样设计: ```html <template> <div class="image-container"> <img :src="imageUrl" alt="Sample Image"/> </div> </template> <script> export default { data() { return { imageUrl: &#39;http://your-bucket-name.cos.region.myqcloud.com/sample.jpg&#39; }; } }; </script> ``` 这里的 `imageUrl` 是指向 COS 上某个公开可访问的对象链接。 --- #### 数据库支持(扩展) 如果业务需求涉及更复杂的元数据处理或者频繁查询操作,还可以考虑搭配腾讯云数据库 MySQL 来增强系统的整体性能表现[^5]。比如记录每张照片对应的标签、描述文字等内容至表结构当中去。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值