版权声明:如果转载请注明出处,交流学习:[email protected] https://blog.csdn.net/weter_drop/article/details/90474269
页面上读取服务器的图片分为两种方式:
1.读取tomcat或者项目webapp/目录下图片。
2.读取本地磁盘的图片文件,如:d:/image/1.jpg
1.读取tomcat或者项目webapp目录下图片。
这类问题比较简单,
前端页面代码:
<img id="fileTeacherTwo" src="/skillsCompetitionPlatform/userfiles/1/images/1.jpg" alt="" style="height: 60px">
// 项目名/webapp下文件目录名/图片文件名
2.读取本地磁盘的图片文件,如:d:/image/1.jpg
jsp代码:
<img id="fileTeacherTwo" src="${ctx}/basedata/image/toFindImg?imgUrl=${teacherEnroll.teacherDetail.fileTeacherTwo}" alt="" style="height: 60px">
// ${teacherEnroll.teacherDetail.fileTeacherTwo} 得到是文件在磁盘的位置如:d:/image/1.jpg
后台controller:
import com.cnony.core.web.BaseController;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.OutputStream;
/**
*@业务描述: 图片回显通用controller
*/
@Controller
@RequestMapping(value = "${adminPath}/basedata/image")
public class ImageController extends BaseController{
/**
* @param imgUrl 图片在本地磁盘的位置 如:E:/teacherCompetition/1/images/1.jpg
* @param request
* @param response
*/
@RequestMapping("/toFindImg")
public void picToJSP(@RequestParam("imgUrl") String imgUrl, HttpServletRequest request, HttpServletResponse response){
FileInputStream in;
response.setContentType("application/octet-stream;charset=UTF-8");
try {
//图片读取路径
in=new FileInputStream(imgUrl);
int i=in.available();
byte[]data=new byte[i];
in.read(data);
in.close();
//写图片
OutputStream outputStream=new BufferedOutputStream(response.getOutputStream());
outputStream.write(data);
outputStream.flush();
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}