java web开发时,图片的URL地址应该保存为http类型,还是本地类型
// 将上传的文件的名字改为UUID的文件名,避免重复而被覆盖
foodPictureFileName = UUIDUtils.getUUIDFileNames(foodPictureFileName);
FileInputStream inputStream = null;
FileOutputStream outputStream = null;
for (int i = 0; i < foodPicture.length; i++) {
try {
// 一般图片的大小不会太大,就1-2M,没必要使用缓存
inputStream = new FileInputStream(foodPicture[i]);
outputStream = new FileOutputStream(this.saveFilePath
+ foodPictureFileName[i]);
// 1mb = 1024kb = 1024*1024byte = 1048576
byte[] buffereds = new byte[1048576];
int len;
while ((len = inputStream.read(buffereds)) != -1) {
outputStream.write(buffereds, 0, len);
}
} catch (FileNotFoundException e) {
throw e;
} finally {
if (inputStream != null)
inputStream.close();
if (outputStream != null)
outputStream.close();
inputStream = null;
outputStream = null;
}
}
将图片保存后,我将图片的相对地址(相对于当前项目WebRoot下的一个路径 )保存在图片的URL中存入数据库,
在jsp页面上需要展现时:我这样做的:<img alt="美食图片" src="<%=basePath%>${foodPicture.url}" style="width:200px;height:100px;">,这样就可以将相对地址转换为http类型的地址
但是问题出现了,windows下的目录分隔符是“\” ,而UNIX下为“/”,而<%=basePath%>${foodPicture.url}连接起来的http路径只有在UNIX下的才满足要求,windows下不行,我该咋办啊,