这是我用来下载图像和保存的代码。任何人都可以提出还有什么我必须做的或我在这里错过了什么?由于事先无法打开图像希望从httpservletrequest下载并保存在本地光盘
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
BufferedWriter writer = null;
InputStream in = new BufferedInputStream(request.getInputStream());
try {
byte[] buffer = new byte[100000];
int n = -1;
while ((n = in.read(buffer)) >= 0) {
out.write(buffer, 0, n); // used for image
}
out.close();
byte[] res = out.toByteArray();
out.flush();
FileOutputStream fos = new FileOutputStream("D://"+ new SimpleDateFormat("yyyyMMdd_HHmmssss").format(Calendar.getInstance().getTime()) +".jpg");
fos.write(res);
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
@Manish我不想在程序中打开,只是在文件系统中打开保存的文件,但照片查看器无法打开图片 – RDD
如果您愿意从某个servlet下载某个文件,您将不得不将byte []写为servlet响应。 – manish
检查这[SO](http://stackoverflow.com/questions/1154254/help-getting-image-from-servlet-to-jsp-page)和[这个SO问题](http://stackoverflow.com/问题/ 8623709 /输出的图像文件-从-A-的servlet) – manish