用JAVA上传图片到服务器上,奇怪的是只能在本地上看到,别的电脑上看不到。
AdlibraryImageForm myform = (AdlibraryImageForm)form;
AdlibraryImage adlibraryImage = myform.getItem();
PrintWriter outs = response.getWriter();
String path = request.getContextPath();
//获取文件的路径
FormFile file = myform.getUploadFile();
//取得绝对的地址
String dir = request.getSession().getServletContext().getRealPath("/Images_guanggao");
try{
if(file!=null || !file.equals(""))
{
//获取文件名
String filerealName = file.getFileName();
String lastname=filerealName.substring(filerealName.lastIndexOf("."), filerealName.length());
String fileName = System.currentTimeMillis() + lastname;////重新命名
InputStream in = file.getInputStream();
OutputStream out = new FileOutputStream(dir+"\\"+fileName);
int byteRead = 0;
byte [] buffer = new byte[8192];
while((byteRead=in.read(buffer,0,8192))!=-1)
{
out.write(buffer,0, byteRead);
}
out.close();
in.close();
}
}catch(FileNotFoundException e)
{
//捕获异常,但不处理
}
AdlibraryImageForm myform = (AdlibraryImageForm)form;
AdlibraryImage adlibraryImage = myform.getItem();
PrintWriter outs = response.getWriter();
String path = request.getContextPath();
//获取文件的路径
FormFile file = myform.getUploadFile();
//取得绝对的地址
String dir = request.getSession().getServletContext().getRealPath("/Images_guanggao");
try{
if(file!=null || !file.equals(""))
{
//获取文件名
String filerealName = file.getFileName();
String lastname=filerealName.substring(filerealName.lastIndexOf("."), filerealName.length());
String fileName = System.currentTimeMillis() + lastname;////重新命名
InputStream in = file.getInputStream();
OutputStream out = new FileOutputStream(dir+"\\"+fileName);
int byteRead = 0;
byte [] buffer = new byte[8192];
while((byteRead=in.read(buffer,0,8192))!=-1)
{
out.write(buffer,0, byteRead);
}
out.close();
in.close();
}
}catch(FileNotFoundException e)
{
//捕获异常,但不处理
}
<%
String path = request.getContextPath();
%>个人标志图: <img src="<%=path%>/bUpload/${businessUserAll.logoImage}" width="182" height="68" name="logImage" id="logImage2"/> </div>
src="<%=path%>/bUpload/${businessUserAll.logoImage}?a=" + System.currentTimeMillis()
String dir = request.getSession().getServletContext().getRealPath("/Images_guanggao");
显示的时候却是<img src="<%=path%>/bUpload/${businessUserAll.logoImage}" width="182" height="68" name="logImage" id="logImage2"/>两个地方的 文件夹根本都不相同,, 你的action 里面写的文件夹是 Images_guanggao ,实际上是把图片上传到 那个文件夹去了,,你JSP页面却是写的 bUpload 文件夹,,
你把 Action里面 改成 :
String dir = request.getSession().getServletContext().getRealPath("/bUpload");
这样才OK了,,
FormFile file = myform.getUploadFile();这个注释有问题吧查下API,好像除了路径 可以得到很多东西
String dir = request.getSession().getServletContext().getRealPath("/Images_guanggao");就是啊! 你这里存在是 Images_guanggao文件夹
<img src="<%=path%>/bUpload/${businessUserAll.logoImage}" width="182" height="68" name="logImage" id="logImage2"/> </div>这里又是bUpload
一般的在存入数据库的时候,把你的文件夹的名字都存入数据库。
前台直接
<img src="<%=path%>/${businessUserAll.logoImage}" width="182" height="68" name="logImage" id="logImage2"/> </div>这样取。灵活性大于你写的那种!