日期:2014-05-18  浏览次数:20845 次

求教! 把文件流保存为JPG时,出现Not a JPEG file 错误。

response.setHeader( "Pragma ",   "no-cache ");
response.setHeader( "Cache-Control ",   "no-cache ");
String   JPG= "image/jpeg;charset=GB2312 ";

                        Calendar   date   =   Calendar.getInstance();//创建一个日历类
                        String   path   =   request.getRealPath( "/ ")   +   "picdata/ "   +   date.getTimeInMillis()   +   ".jpg ";//设置上传图片的路径
                        //得到图片的文件流
                        InputStream   imageIn   =   request.getInputStream();
                        FileOutputStream   fos   =   new   FileOutputStream(path);

    response.setContentType(JPG);//设定输出的类型

// 得到输入的编码器,将文件流进行jpg格式编码

JPEGImageDecoder   decoder   =   JPEGCodec.createJPEGDecoder(imageIn);

// 得到编码后的图片对象

BufferedImage   image   =   decoder.decodeAsBufferedImage();

// 得到输出的编码器

JPEGImageEncoder   encoder   =   JPEGCodec.createJPEGEncoder(fos);

encoder.encode(image);//对图片进行输出编码

imageIn.close();//关闭文件流


------解决方案--------------------
帮定