这是我现在的代码File file = new File("c:\\it.jpg");InputStream photoStream = new FileInputStream(file);
请问如何获得外网上传的图片的流啦,请教各位大哥了 急急。。。。。
11 个解决方案
#1
得到 二进制数据 然后存到数据就可以了。
#4
http://download.csdn.net/source/1089134
这也可以下载来看一看。
这也可以下载来看一看。
#5
知道为什么 跨网络就不行吗?
请看你主机的代码:
File file = new File("c:\\it.jpg");
你在本地时,JAVA可以找到你的电脑的C盘的 it.jpg
如果换成别人的计算机了,当这台计算机访问你的WEB应用,JAVA就去找这台计算机的c:\\it.jpg, 结果没
有找到,所以保存到数据库失败。
解决办法:
c:\\it.jpg(本地上传至--->WEB部署的服务器的某个固定目录-->数据库
即:
使用表单上传的方式,在JSP 搞一个标签<input type="file">,先将你的图片上传到WEB应用部署的服务
器的某个固定目录上,再用“流”读WEB服务器固定目录里的这个图片,再送到数据库中保存即可。
请看你主机的代码:
File file = new File("c:\\it.jpg");
你在本地时,JAVA可以找到你的电脑的C盘的 it.jpg
如果换成别人的计算机了,当这台计算机访问你的WEB应用,JAVA就去找这台计算机的c:\\it.jpg, 结果没
有找到,所以保存到数据库失败。
解决办法:
c:\\it.jpg(本地上传至--->WEB部署的服务器的某个固定目录-->数据库
即:
使用表单上传的方式,在JSP 搞一个标签<input type="file">,先将你的图片上传到WEB应用部署的服务
器的某个固定目录上,再用“流”读WEB服务器固定目录里的这个图片,再送到数据库中保存即可。
#6
我的服务器端是不需要保存图片呀,要在跨网络的时候获得客户端的图片,怎么获得网络流,以流的形式保存,在我的服务器上始终是没有图片的,只是将二进制流保存到数据库中就行,还望能不能清楚一点
#7
File file = new File(图片地址);
其中的图片地址,如果是本地的话是没问题,如果是远程怎么获得客户端的图片地址
其中的图片地址,如果是本地的话是没问题,如果是远程怎么获得客户端的图片地址
#8
QusetionForm qusetionForm = (QusetionForm)form;
FormFile imageTopic= qusetionForm.getImageTopic();
String name=imageTopic.getFileName();
String url=(servlet.getServletConfig().getServletContext().getRealPath("\\")+name).replace('\\','/');
URL图片路径
FormFile imageTopic= qusetionForm.getImageTopic();
String name=imageTopic.getFileName();
String url=(servlet.getServletConfig().getServletContext().getRealPath("\\")+name).replace('\\','/');
URL图片路径
#9
上传图片 在保存
#10
byte[] data=new byte[imageTopic.getFileSize()];
data=imageTopic.getFileData();
//文件写入流
FileOutputStream fos=new FileOutputStream(url);
fos.write(data);
//关闭文件流
fos.close();
图片上传到服务器上
然后保存存URL既可
data=imageTopic.getFileData();
//文件写入流
FileOutputStream fos=new FileOutputStream(url);
fos.write(data);
//关闭文件流
fos.close();
图片上传到服务器上
然后保存存URL既可
#11
<%
// 新建一个SmartUpload对象
SmartUpload su = new SmartUpload();
// 上传初始化
su.initialize(pageContext);
su.upload();
// 将上传文件全部保存到指定目录
int count = su.save("/upload");
out.println(count + "个文件上传成功!<br>");
// 利用Request对象获取参数之值
out.println("TEST=" + su.getRequest().getParameter("TEST")
+ "<BR><BR>");
// 逐一提取上传文件信息,同时可保存文件。
for (int i = 0; i < su.getFiles().getCount(); i++) {
com.jspsmart.upload.File file = su.getFiles().getFile(i);
FileInputStream photoStream = new FileInputStream(file.getFilePathName());
System.out.println(photoStream);
// 若文件不存在则继续
if (file.isMissing())
continue;
// 显示当前文件信息
out.println("<TABLE BORDER=1>");
out.println("<TR><TD>表单项名(FieldName)</TD><TD>"
+ file.getFieldName() + "</TD></TR>");
out.println("<TR><TD>文件长度(Size)</TD><TD>" + file.getSize()
+ "</TD></TR>");
out.println("<TR><TD>文件名(FileName)</TD><TD>"
+ file.getFileName() + "</TD></TR>");
out.println("<TR><TD>文件扩展名(FileExt)</TD><TD>"
+ file.getFileExt() + "</TD></TR>");
out.println("<TR><TD>文件全名(FilePathName)</TD><TD>"
+ file.getFilePathName() + "</TD></TR>");
out.println("</TABLE><BR>");
// 将文件另存
// file.saveAs("/upload/" + myFile.getFileName());
// 另存到以WEB应用程序的根目录为文件根目录的目录下
// file.saveAs("/upload/" + myFile.getFileName(),
//su.SAVE_VIRTUAL);
// 另存到操作系统的根目录为文件根目录的目录下
// file.saveAs("c:\\temp\\" + myFile.getFileName(),
//su.SAVE_PHYSICAL);
}
%>
如何通过上面的代码转换成文件流呀,请各位帮忙看一下
// 新建一个SmartUpload对象
SmartUpload su = new SmartUpload();
// 上传初始化
su.initialize(pageContext);
su.upload();
// 将上传文件全部保存到指定目录
int count = su.save("/upload");
out.println(count + "个文件上传成功!<br>");
// 利用Request对象获取参数之值
out.println("TEST=" + su.getRequest().getParameter("TEST")
+ "<BR><BR>");
// 逐一提取上传文件信息,同时可保存文件。
for (int i = 0; i < su.getFiles().getCount(); i++) {
com.jspsmart.upload.File file = su.getFiles().getFile(i);
FileInputStream photoStream = new FileInputStream(file.getFilePathName());
System.out.println(photoStream);
// 若文件不存在则继续
if (file.isMissing())
continue;
// 显示当前文件信息
out.println("<TABLE BORDER=1>");
out.println("<TR><TD>表单项名(FieldName)</TD><TD>"
+ file.getFieldName() + "</TD></TR>");
out.println("<TR><TD>文件长度(Size)</TD><TD>" + file.getSize()
+ "</TD></TR>");
out.println("<TR><TD>文件名(FileName)</TD><TD>"
+ file.getFileName() + "</TD></TR>");
out.println("<TR><TD>文件扩展名(FileExt)</TD><TD>"
+ file.getFileExt() + "</TD></TR>");
out.println("<TR><TD>文件全名(FilePathName)</TD><TD>"
+ file.getFilePathName() + "</TD></TR>");
out.println("</TABLE><BR>");
// 将文件另存
// file.saveAs("/upload/" + myFile.getFileName());
// 另存到以WEB应用程序的根目录为文件根目录的目录下
// file.saveAs("/upload/" + myFile.getFileName(),
//su.SAVE_VIRTUAL);
// 另存到操作系统的根目录为文件根目录的目录下
// file.saveAs("c:\\temp\\" + myFile.getFileName(),
//su.SAVE_PHYSICAL);
}
%>
如何通过上面的代码转换成文件流呀,请各位帮忙看一下
#1
得到 二进制数据 然后存到数据就可以了。
#2
#3
#4
http://download.csdn.net/source/1089134
这也可以下载来看一看。
这也可以下载来看一看。
#5
知道为什么 跨网络就不行吗?
请看你主机的代码:
File file = new File("c:\\it.jpg");
你在本地时,JAVA可以找到你的电脑的C盘的 it.jpg
如果换成别人的计算机了,当这台计算机访问你的WEB应用,JAVA就去找这台计算机的c:\\it.jpg, 结果没
有找到,所以保存到数据库失败。
解决办法:
c:\\it.jpg(本地上传至--->WEB部署的服务器的某个固定目录-->数据库
即:
使用表单上传的方式,在JSP 搞一个标签<input type="file">,先将你的图片上传到WEB应用部署的服务
器的某个固定目录上,再用“流”读WEB服务器固定目录里的这个图片,再送到数据库中保存即可。
请看你主机的代码:
File file = new File("c:\\it.jpg");
你在本地时,JAVA可以找到你的电脑的C盘的 it.jpg
如果换成别人的计算机了,当这台计算机访问你的WEB应用,JAVA就去找这台计算机的c:\\it.jpg, 结果没
有找到,所以保存到数据库失败。
解决办法:
c:\\it.jpg(本地上传至--->WEB部署的服务器的某个固定目录-->数据库
即:
使用表单上传的方式,在JSP 搞一个标签<input type="file">,先将你的图片上传到WEB应用部署的服务
器的某个固定目录上,再用“流”读WEB服务器固定目录里的这个图片,再送到数据库中保存即可。
#6
我的服务器端是不需要保存图片呀,要在跨网络的时候获得客户端的图片,怎么获得网络流,以流的形式保存,在我的服务器上始终是没有图片的,只是将二进制流保存到数据库中就行,还望能不能清楚一点
#7
File file = new File(图片地址);
其中的图片地址,如果是本地的话是没问题,如果是远程怎么获得客户端的图片地址
其中的图片地址,如果是本地的话是没问题,如果是远程怎么获得客户端的图片地址
#8
QusetionForm qusetionForm = (QusetionForm)form;
FormFile imageTopic= qusetionForm.getImageTopic();
String name=imageTopic.getFileName();
String url=(servlet.getServletConfig().getServletContext().getRealPath("\\")+name).replace('\\','/');
URL图片路径
FormFile imageTopic= qusetionForm.getImageTopic();
String name=imageTopic.getFileName();
String url=(servlet.getServletConfig().getServletContext().getRealPath("\\")+name).replace('\\','/');
URL图片路径
#9
上传图片 在保存
#10
byte[] data=new byte[imageTopic.getFileSize()];
data=imageTopic.getFileData();
//文件写入流
FileOutputStream fos=new FileOutputStream(url);
fos.write(data);
//关闭文件流
fos.close();
图片上传到服务器上
然后保存存URL既可
data=imageTopic.getFileData();
//文件写入流
FileOutputStream fos=new FileOutputStream(url);
fos.write(data);
//关闭文件流
fos.close();
图片上传到服务器上
然后保存存URL既可
#11
<%
// 新建一个SmartUpload对象
SmartUpload su = new SmartUpload();
// 上传初始化
su.initialize(pageContext);
su.upload();
// 将上传文件全部保存到指定目录
int count = su.save("/upload");
out.println(count + "个文件上传成功!<br>");
// 利用Request对象获取参数之值
out.println("TEST=" + su.getRequest().getParameter("TEST")
+ "<BR><BR>");
// 逐一提取上传文件信息,同时可保存文件。
for (int i = 0; i < su.getFiles().getCount(); i++) {
com.jspsmart.upload.File file = su.getFiles().getFile(i);
FileInputStream photoStream = new FileInputStream(file.getFilePathName());
System.out.println(photoStream);
// 若文件不存在则继续
if (file.isMissing())
continue;
// 显示当前文件信息
out.println("<TABLE BORDER=1>");
out.println("<TR><TD>表单项名(FieldName)</TD><TD>"
+ file.getFieldName() + "</TD></TR>");
out.println("<TR><TD>文件长度(Size)</TD><TD>" + file.getSize()
+ "</TD></TR>");
out.println("<TR><TD>文件名(FileName)</TD><TD>"
+ file.getFileName() + "</TD></TR>");
out.println("<TR><TD>文件扩展名(FileExt)</TD><TD>"
+ file.getFileExt() + "</TD></TR>");
out.println("<TR><TD>文件全名(FilePathName)</TD><TD>"
+ file.getFilePathName() + "</TD></TR>");
out.println("</TABLE><BR>");
// 将文件另存
// file.saveAs("/upload/" + myFile.getFileName());
// 另存到以WEB应用程序的根目录为文件根目录的目录下
// file.saveAs("/upload/" + myFile.getFileName(),
//su.SAVE_VIRTUAL);
// 另存到操作系统的根目录为文件根目录的目录下
// file.saveAs("c:\\temp\\" + myFile.getFileName(),
//su.SAVE_PHYSICAL);
}
%>
如何通过上面的代码转换成文件流呀,请各位帮忙看一下
// 新建一个SmartUpload对象
SmartUpload su = new SmartUpload();
// 上传初始化
su.initialize(pageContext);
su.upload();
// 将上传文件全部保存到指定目录
int count = su.save("/upload");
out.println(count + "个文件上传成功!<br>");
// 利用Request对象获取参数之值
out.println("TEST=" + su.getRequest().getParameter("TEST")
+ "<BR><BR>");
// 逐一提取上传文件信息,同时可保存文件。
for (int i = 0; i < su.getFiles().getCount(); i++) {
com.jspsmart.upload.File file = su.getFiles().getFile(i);
FileInputStream photoStream = new FileInputStream(file.getFilePathName());
System.out.println(photoStream);
// 若文件不存在则继续
if (file.isMissing())
continue;
// 显示当前文件信息
out.println("<TABLE BORDER=1>");
out.println("<TR><TD>表单项名(FieldName)</TD><TD>"
+ file.getFieldName() + "</TD></TR>");
out.println("<TR><TD>文件长度(Size)</TD><TD>" + file.getSize()
+ "</TD></TR>");
out.println("<TR><TD>文件名(FileName)</TD><TD>"
+ file.getFileName() + "</TD></TR>");
out.println("<TR><TD>文件扩展名(FileExt)</TD><TD>"
+ file.getFileExt() + "</TD></TR>");
out.println("<TR><TD>文件全名(FilePathName)</TD><TD>"
+ file.getFilePathName() + "</TD></TR>");
out.println("</TABLE><BR>");
// 将文件另存
// file.saveAs("/upload/" + myFile.getFileName());
// 另存到以WEB应用程序的根目录为文件根目录的目录下
// file.saveAs("/upload/" + myFile.getFileName(),
//su.SAVE_VIRTUAL);
// 另存到操作系统的根目录为文件根目录的目录下
// file.saveAs("c:\\temp\\" + myFile.getFileName(),
//su.SAVE_PHYSICAL);
}
%>
如何通过上面的代码转换成文件流呀,请各位帮忙看一下