• 通过图片id请求后端服务,将图片渲染到页面,渲染不成功?


    关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 小Hello先生 2024-06-20 11:05 采纳率: 95.5% 浏览 6 首页/ 编程语言 / 已结题 通过图片id请求后端服务,将图片渲染到页面,渲染不成功? java前端html 通过图片id请求后端服务,将图片渲染到页面,渲染不成功?前端通过src动态请求: 后端相应地址代码: @GetMapping("/view/{file}") public void view(@PathVariable String file, HttpServletResponse response) throws IOException { int index = file.lastIndexOf("."); if (index >= 0) { HttpUtils.setPreviewHeader(response, file.substring(index + 1)); } else { HttpUtils.setPreviewHeader(response, "*"); } FileInputStream fileInputStream = new FileInputStream("files/" + file); HttpUtils.setContentLength(response, fileInputStream.available()); StreamUtils.copy(fileInputStream, response.getOutputStream()); fileInputStream.close(); } 收起 写回答 好问题 0 提建议 追加酬金 关注问题 微信扫一扫 点击复制链接 分享 邀请回答 编辑 收藏 删除 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 当前问题酬金 ¥ 0 (可追加 ¥500) ¥ 15¥ 20¥ 50¥ 100¥ 200 支付方式 扫码支付 二维码出错 点击刷新 支付金额 15 元 提供问题酬金的用户不参与问题酬金结算和分配 支付即为同意 《付费问题酬金结算规则》 结题 再想想 删除 再等等

    1条回答 默认 最新

    • 阿里嘎多学长 2024-06-20 11:11
      关注

      以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


      根据您提供的信息,我们可以从以下几个方面来排查问题:

      1. 前端代码中的:src属性

      在Vue模板中,动态绑定的:src属性应该使用v-bind指令,而不是直接在HTML属性中使用。您的代码示例中,:src属性的写法有误。正确的写法应该是:

      
      

      或者使用简写:

      
      

      然后在Vue实例中定义imageUrl数据属性:

      data() {
        return {
          imageUrl: 'http://localhost:3333/view/2fe83c0671114afe8fa8cc23d2afded1_1.png'
        };
      }
      

      2. 后端服务的路径变量解析

      您的后端代码中使用@GetMapping("/view/{file}")来接受路径变量file,这部分看起来是正确的。但是,确保file变量能够正确解析并传递到方法中。

      3. 文件路径和文件存在性

      检查"files/" + file路径是否正确指向存储图片的位置,并且确保文件确实存在于该路径下。

      4. 响应头和内容长度设置

      HttpUtils.setPreviewHeaderHttpUtils.setContentLength方法调用看起来是正确的,但是需要确保HttpUtils工具类中的实现没有问题。

      5. 文件内容复制

      StreamUtils.copy用于将文件内容复制到响应的输出流中,确保这个方法调用没有异常。

      6. URL匹配和跨域问题

      确保前端请求的URL与后端配置的路由匹配,并且后端服务配置了适当的CORS(跨源资源共享)策略,以允许前端应用访问后端资源。

      7. 其他可能的问题

      • 检查浏览器控制台是否有错误信息。
      • 确保服务器运行正常,没有遇到内部错误。
      • 如果图片很大,检查是否有超时设置影响文件传输。

      最后,如果问题依然存在,建议逐步调试,比如在后端打印出file变量的值,确认它是否如预期那样被解析。同时,检查前端请求的URL是否完全符合后端的路由配置。希望这些建议能帮助您解决问题。

      展开全部

      本回答被题主选为最佳回答 , 对您是否有帮助呢?
      评论 编辑记录
    编辑
    预览

    报告相同问题?

  • 相关阅读:
    redis在实践中的一些常见问题以及优化思路(包含linux内核参数优化)
    springBoot 日志
    用C语言列出Linux或Unix上的网络适配器
    kafka 3.5 生产者请求中的acks,在服务端如何处理源码
    关于cmake --build .的理解
    在 Linux 中,可以使用分号 (;) 或者 && 运算符来执行多条命令
    (三)使用 Vue 脚手架
    bp神经网络有哪些模型,bp神经网络有哪些应用
    使用STM32CubeMX实现LED闪烁
    Android 疑难杂症
  • 原文地址:https://ask.csdn.net/questions/8121526