java web开发时,图片的URL地址应该保存为http类型,还是本地类型

connection_ 2014-10-31 11:16:51
// 将上传的文件的名字改为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下不行,我该咋办啊,
...全文
869 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hackersun12345 2016-04-04
  • 打赏
  • 举报
回复
JDK自带获取方法:File.separatorChar
connection_ 2014-10-31
  • 打赏
  • 举报
回复
在跨平台时,会不会有隐患呢??
slwsss 2014-10-31
  • 打赏
  • 举报
回复
引用 2 楼 connection_ 的回复:
但是如果我要删除图片,那不也得转换啊
windows 目录分隔符可以用'/' 存相对路径,删除时再转换
connection_ 2014-10-31
  • 打赏
  • 举报
回复
但是如果我要删除图片,那不也得转换啊
slwsss 2014-10-31
  • 打赏
  • 举报
回复
http 省得转换

5,655

社区成员

发帖
与我相关
我的任务
社区描述
Web开发应用服务器相关讨论专区
社区管理员
  • 应用服务器社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧