首页 新闻 会员 周边 捐助

springMVC 显示图片问题

0
悬赏园豆:20 [已解决问题] 解决于 2016-07-20 17:39

功能是上传一个图片文件到服务器路径并根据路径打开文件

jsp代码如下:

<form action="${ctx}/file/oneUpload" method="post" enctype="multipart/form-data">
        <h3>hello</h3>
        <div class="control-group">
            文件:<input type="text" name="fileName"/>
            <input type="file" name="fileTest"/>
        </div>
        <div class="control-group">
            <input type="submit" value="上传"/>
        </div>
    </form>

处理的controller如下:

@RequestMapping("/file")
public class FileUploadController {

    @RequestMapping(value = "/oneUpload")
    public String oneUpload(@RequestParam("fileTest") MultipartFile fileTest,
                            HttpServletRequest request, ModelMap model) {

        String uploadUrl = request.getSession().getServletContext().getRealPath("/") + "upload/";
        String fileName = fileTest.getOriginalFilename();

        File dir = new File(uploadUrl);
        if (!dir.exists()) {
            dir.mkdirs();
        }
        System.out.println("上传文件到:" + uploadUrl + fileName);
        File targetFile = new File(uploadUrl + fileName);
        if (!targetFile.exists()) {
            try {
                targetFile.createNewFile();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

        try {
            fileTest.transferTo(targetFile);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return "redirect:http://localhost:8080/demo-test/upload/" + fileName;
    }
}

生成的文件夹及上传的文件路径如下:

但最终返回的结果是:

青色枫xw的主页 青色枫xw | 初学一级 | 园豆:183
提问于:2016-07-19 16:04
< >
分享
最佳答案
0

首先看你发布的程序根目录下是否有demo-test/upload/这个目录,http://localhost:8080/demo-test/upload/" + fileName;这是访问根目录的。

第二,看你访问静态资源的时候,访问路径是不是也被dispatcher转发了,用了mvc的形式了。

收获园豆:20
弦断有谁听 | 初学一级 |园豆:20 | 2016-07-20 12:46

有这个目录的,就是你说的第二个问题 突然想到了  我傻啦 哈哈哈  谢谢啦

青色枫xw | 园豆:183 (初学一级) | 2016-07-20 17:39
其他回答(1)
0

少了@controller

独钓寒江翁 | 园豆:563 (小虾三级) | 2016-07-20 09:29

只是没贴出来而已。。。

支持(0) 反对(0) 青色枫xw | 园豆:183 (初学一级) | 2016-07-20 15:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册