以前经常写上传头像功能,上传头像完回显出来,通常套路是:
数据库保存文件名(自己加工过,防止重名)
然后文件路径写到前台的绝对路径。前台直接用../相对路径的方式显示出来。
但是这样有一个问题就是当我们在window开发以后部署到linux服务器上的时候,需要改我们保存头像的绝对路径。
后边受到点启发,想了另一个套路:
//文件路径
private static final String PATH = ResourceUtils.CLASSPATH_URL_PREFIX+"static\\images";
String filepath;
{
try {
filepath = ResourceUtils.getFile(PATH).getAbsolutePath();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
通过ResourceUtils这个工具类获取文件的绝对路径,然后还是数据库保存文件名。
前台js:
function change(temp) {
//获取头像
var formData = new FormData($("#head")[0]);
var file = $("#headimg").get(0).files[0];
formData.append("file", file);
$.ajax({
url: '/information/info/uploadhead',