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

html页面跳转百度搜索引擎优化怎么做

html页面跳转,百度搜索引擎优化怎么做,企业高端网站制作,懂装修公司怎么样本周我的主要任务是关于专栏管理部分的完善。 专栏图片的显示问题 问题分析 根据代码可知:图片URL来自于portfolio.headImgUrl,而且如果URL不存在的话,应该显示的是无图片,而网页中显示加载失败说明portfolio.headImgUrl应该是存…

本周我的主要任务是关于专栏管理部分的完善。

专栏图片的显示问题

问题分析

在这里插入图片描述
在这里插入图片描述

根据代码可知:图片URL来自于portfolio.headImgUrl,而且如果URL不存在的话,应该显示的是无图片,而网页中显示加载失败说明portfolio.headImgUrl应该是存在的,但是路径可能有问题。在控制台中的404报错也印证了这一点。
在这里插入图片描述

对其中的URL进行解码可以得到http://localhost:3000/portfolio/上传失败!,看来是图片在上传时就有问题,导致URL被拼接成了上传失败。
在这里插入图片描述
在后端进行DeBug调试时找到问题所在,原来是配置文件中的存储图片的目录的路径有问题,导致返回了一个上传失败。

问题解决

通过修改配置文件中的路径使其能够显示正常的路径而不是上传失败,但现在路径仍不是我们想要的路径,所以还需要将存到数据库中的图片路径逻辑进行修改。
在这里插入图片描述
现在图片已经能够正确存储在后端的static文件夹下,并且其URL正确的存储到了数据库中。

后端

然后需要找到前端向后端请求的函数:

fetchPostDetail({ commit }, params = {}) {// const delay = fetchDelay(//   isBrowser// )// if (isBrowser) {//   Vue.nextTick(() => {//     window.scrollTo(0, 300);//   })// }if (typeof params.portfolio_id === 'undefined') {commit('updateDetailData', getDefaultListData())return;}commit('updateDetailFetching', true)// commit('updateDetailData', {})return this.$axios.$get(`${PORTFOLIO_API_PATH}/detail/${params.portfolio_id}`).then(response => {return new Promise(resolve => {commit('updateDetailData', response)commit('updateDetailFetching', false)resolve(response)// delay(() => {//   resolve(response)// })})}).catch(error => {commit('updateDetailFetching', false)return Promise.reject(error)})}

上述函数通过调用后端接口(${PORTFOLIO_API_PATH}/detail/${params.portfolio_id})获取作品集详情数据,更新到 Vuex store 的detail.data中,而作品集封面的URL就在detail.data中。

添加前端请求图片的接口并以base64编码的形式返回。

    @GetMapping("/image/{idPortfolio}/base64")public GlobalResult<String> getPortfolioImageAsBase64(@PathVariable Long idPortfolio, @RequestParam(defaultValue = "0") Integer type) throws IOException {// Get the portfolio DTO which contains the image pathPortfolioDTO portfolioDTO = portfolioService.findPortfolioDTOById(idPortfolio, type);if (portfolioDTO == null || portfolioDTO.getHeadImgUrl() == null) {throw new FileNotFoundException("Portfolio or image not found");}String path = portfolioDTO.getHeadImgUrl().replace("src/main/resources/", "");String extension = path.substring(path.lastIndexOf(".") + 1);// 3. 确定MIME类型String mimeType;switch (extension) {case "png":  mimeType = "image/png"; break;case "jpg":case "jpeg": mimeType = "image/jpeg"; break;case "gif":  mimeType = "image/gif"; break;case "svg":  mimeType = "image/svg+xml"; break;case "webp": mimeType = "image/webp"; break;default:     mimeType = "application/octet-stream";}ClassPathResource resource = new ClassPathResource(path);// Read file content and encode as base64try (InputStream inputStream = resource.getInputStream()) {byte[] fileContent = IOUtils.toByteArray(inputStream);String base64 = Base64.getEncoder().encodeToString(fileContent);String res = "data:" + mimeType + ";base64," + base64;GlobalResult<String> result = GlobalResultGenerator.genSuccessResult("success");result.setData(res);return result;} catch (IOException e) {throw new RuntimeException("加载图片失败: " + path, e);}}
前端

添加该函数单独获取base64编码的图片。

    async fetchImageAsBase64() {if(this.portfolio?.headImgUrl?.startsWith('data:image')){return;}try {if (!this.portfolio?.headImgUrl) return;if (this.portfolio.headImgUrl.startsWith('data:image')) {return this.portfolio.headImgUrl;}const response = await this.$axios.$get(`/api/portfolio/image/${this.portfolio.idPortfolio}/base64`,{ responseType: 'text' });this.imgUrl = response;console.log(this.imgUrl)} catch (error) {console.error('获取Base64图片失败:', error);return null; // 或返回占位图URL}}},
http://www.dtcms.com/wzjs/381294.html

相关文章:

  • www.ccb.com建设银行网站首页nba最新交易汇总
  • 网站如何做谷歌推广刷推广软件
  • 国内比较好的猎头公司郑州seo推广优化
  • 昆山外贸公司网站建设流程搜图片百度识图
  • 免费行业网站源码爱网站关键词查询工具长尾
  • 网站宣传图百度seo入驻
  • ui设计师能独立做网站吗91永久海外地域网名
  • 交易网站开发合同范本免费seo刷排名
  • wordpress个性化小图标廊坊seo排名优化
  • wordpress jsp版整站优化关键词排名
  • wordpress支付下载网站seo优化是什么
  • 主题资源网站建设步骤重庆的seo服务公司
  • 基础建设投资搜索引擎优化教程
  • 琼海网站制作成都网站优化排名
  • 北京建网站定制价格电商网站订烟平台官网
  • 网站到底备案好不好营销型网站建设优化建站
  • 国家 住房城乡建设信用 网站湖南seo博客seo交流
  • 电脑如何免费安装wordpress东营网站seo
  • 网站二次开发是什么2345网址导航手机版
  • 接做网站私活郑州建网站的公司
  • 企业网站信息化建设嘉兴网站建设制作
  • 提供网站推广公司电话推广渠道有哪些平台
  • 企业网站建设实训总结自助发稿
  • 网站建设维护学习深圳seo外包公司
  • 企业展厅设计公司案例欣赏seo标题优化是什么意思
  • 网站建设需要配置环境么设计网站排行
  • 照片网站怎么做湖南网站建设平台
  • 网站首页快照更新快推广网站文案
  • 关于加强政府网站信息内容建设的意见 全文博客网站登录入口
  • 企业网站维护存在问题seo的理解