2201_75562480 2023-11-08 17:15 采纳率: 16.7%
浏览 20

idea项目启动图片加载不出来

这个图片加载不出来 是那里路劲的问题 那个文件?

img

这个里面吗

package com.controller;

import java.io.File;
import java.io.IOException;
import java.util.Date;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.ConfigEntity;
import com.entity.EIException;
import com.service.ConfigService;
import com.utils.R;

/**
 * 上传文件映射表
 */
@RestController
@RequestMapping("/file")
@SuppressWarnings({"unchecked","rawtypes"})
public class FileController{
    @Autowired
    private ConfigService configService;
    /**
     * 上传文件
     */
    @RequestMapping("/upload")
    public R upload(@RequestParam("file") MultipartFile file, String type,HttpServletRequest request) throws Exception {
        if (file.isEmpty()) {
            throw new EIException("上传文件不能为空");
        }
        String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);
        String fileName = new Date().getTime()+"."+fileExt;
        File dest = new File(request.getSession().getServletContext().getRealPath("/upload")+"/"+fileName);
        file.transferTo(dest);
        if(StringUtils.isNotBlank(type) && type.equals("1")) {
            ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));
            if(configEntity==null) {
                configEntity = new ConfigEntity();
                configEntity.setName("faceFile");
                configEntity.setValue(fileName);
            } else {
                configEntity.setValue(fileName);
            }
            configService.insertOrUpdate(configEntity);
        }
        return R.ok().put("file", fileName);
    }
    
    /**
     * 下载文件
     */
    @IgnoreAuth
    @RequestMapping("/download")
    public void download(@RequestParam String fileName, HttpServletRequest request, HttpServletResponse response) {
        try {
            File file = new File(request.getSession().getServletContext().getRealPath("/upload")+"/"+fileName);
            if (file.exists()) {
                response.reset();
                response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName+"\"");
                response.setHeader("Cache-Control", "no-cache");
                response.setHeader("Access-Control-Allow-Credentials", "true");
                response.setContentType("application/octet-stream; charset=UTF-8");
                IOUtils.write(FileUtils.readFileToByteArray(file), response.getOutputStream());
            }

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    
}


  • 写回答

2条回答 默认 最新

  • 二九筒 2023-11-08 17:45
    关注

    你这个不是下载文件么?而且你这请求路径前面多了这个是加了这个前缀么?

    img

    评论

报告相同问题?

问题事件

  • 创建了问题 11月8日

悬赏问题

  • ¥15 魔霸ROG7 pro,win11.息屏后会显示黑屏,如图,如何解决?(关键词-重新启动)
  • ¥15 有没有人知道这是哪里出了问题啊?要怎么改呀?
  • ¥200 C++表格文件处理-悬赏
  • ¥15 Windows Server2016本地登录失败
  • ¥15 复合卡卡号轨道写入芯片卡
  • ¥20 基于MATLAB的TDOA
  • ¥15 为啥输入字体突然变了
  • ¥20 已知坐标,换成MATLAB可以用的数据
  • ¥15 这个python五子棋代码的每一句意思是什么啊
  • ¥15 求一段隐藏代码,隐藏一些内容