解决方案 »
- 请教Hibernate 如何定义“库房”、“库存调拨”的OneToMany关系?
- properties缓存
- js中怎么样去掉table的样式
- ResultSet为什么说我一直未使用这个类型
- 利用<html:select><html:options>标签显示集合的值,同时把选中的值利用<html:form>标签提交到后台.
- hibernate运行时报的错误,求解
- 如何找工作
- 求教:如何设计一个收费管理系统(急啊,压力太大了)
- tomcat设置问题[急]
- 像那些游戏、股票实时行情之类的APP软件
- Spring 中ibatis 的 sqlmapclient mappingLocations
- 一个自定义比较器传入自定义对象的问题
第一种、配置一个Apache或Nginx服务器:<!--Apache-->
<VirtualHost pic.example.com>
ServerName pic.example.com
DocumentRoot "D:/"
</VirtualHost>
<!--注意同时要配置权限--><!--Nginx-->
server {
listen 80;
server_name pic.example.com;
location / {
root d:/;
}
}
第二种:写一个方法处理图片请求:@RequestMapping("/images")
public void images(@RequestParam String file, HttpServletResponse response){
File f = new File("d:/", file);
//response.getOutputStream().write......
}
第三种:在上传的方法中同步返回model.put("path", "img/" + file.getOriginalFilename());
//这需要注意的是不能返回地址,只能返回Base64压缩的图片文件流,具体做法是:
model.put("path", "data:image/jpeg;base64," + Base64.getEncoder().encode(bytes));
//Base64压缩算法特别重要,否则浏览器不能解析。
没有上传成功的话在cache块里处理,配置一个默认图片地址返回就行(如果没有静态图片服务器,就得用第二种、第三种方法处理默认图片)
我很奇怪的是他src里面怎么去获取
那么src怎么拿后台传的值,并且没有赋值一个默认地址
刚把model.put("path", "data:image/jpeg;base64," + Base64.getEncoder().encode(bytes));加上 可是报错。导入jar包都显示没有getEncoder这个方法,应该用哪个jar包啊。不好意思啊,原来都没有接触过Base64
org.apache.commons.codec.binary.Base64
commons-codec-1.7.jar
方法是:
Base64.encodeBase64String()
前端不需要处理,如果base压缩正确,浏览器就能显示。
去下了1.7的jar这还是报错啊大哥