图片上传

功能代码:

@RequestMapping("fileId/{fileId}")
    public void getFile(@PathVariable long fileId,HttpServletResponse response) throws IOException {
    	Picture picture =  pictureService.findById(fileId);
        String filePath =picture.getFilePath();
        File file = new File(filePath);
        
        FileInputStream inputStream = new FileInputStream(file);
        byte[] data = new byte[(int)file.length()];
        inputStream.read(data);
        inputStream.close();
        
        String[] f =  filePath.split("\\.");
        String contentType = f[f.length-1].toLowerCase();
        
        response.setContentType("image/"+contentType);

        OutputStream stream = response.getOutputStream();
        stream.write(data);
        stream.flush();
        stream.close();
    }

<c:forEach items = "${pictureList }" var = "picture">
		<p><img src="/picture/index/fileId/${picture.id }"  BORDER="0" ALT="无图片"/><p>
		<p>${picture.title }</p>
	</c:forEach>

客户端需要用到服务器中的某个文件,可以直接用某个类中找到,处理后交给前端。

比如说这次的image。

当firBug时细细的看一下图片、js、css等等,可以发现这些都是通过controller进行处理后得到的。

比如说<script language="javascript" src="<c:url value = "/resources/js/picture/add.js"></c:url>"> </script>

当<a href = "<c:url value = "/resources/js/picture/add.js"></c:url>">111</a>

而controller中有对应了,这个时候访问的则是controller。而如果controller中没有,那么访问该资源。

而由于是script src,所以会限定死只能为js文件。

你可能感兴趣的:(图片上传)