冷风12138 2017-04-12 05:33 采纳率: 33.3%
浏览 1996
已结题

SSH框架上传到服务器的图片格式变成了tmp

  //创建文件
    File file = new File(identityImgZfile);
    //上传到服务器中,并修改图片的名字
    identityImgZfile = FileHelp.upload(file, file.getName());
    //创建身份证反面的文件
    File file1 = new File(identityImgFfile);
    //上传到服务器中,修改图片名字
    identityImgFfile = FileHelp.upload(file1, file1.getName());
 /**
*2011-10-20
*��õ�ǰ��Ŀ·��
*author:������
*/

package com.jbit.util;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.text.SimpleDateFormat;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;



public class FileHelp {
    //获得存放图片项目路径
        public static String getPath(){
            HttpServletRequest request = ServletActionContext.getRequest();
            String realPath = request.getSession().getServletContext().getRealPath("");

            return realPath;
        }
    /* * 获取一个记录编号 * 格式:12 位时间+业务编号+随即数 * 
     * 例如:100330101028+04+893 (2010-03-30-10:20:28, 业务号是04, 随机数893 ) 
     * *@param btype 业务类型编号 员工业务01 招聘业务02…… 
     * *@return code 构造的一个记录编号 
    */ 
        public static String getNo(){
            //返回的code String code; 
            //系统当前时间 12位  
            SimpleDateFormat sdf=new SimpleDateFormat("yyMMddhhmmss");  
            String nowDate=sdf.format(new java.util.Date()); 
            //随机数  
            String iRandom = Math.round(Math.random()*900 )+100 +""; 
            //整合一个code 
            return nowDate + iRandom ; 
        } 
        //上传
        public static String upload(File file,String name) throws Exception{
            // 获得上传图片的后缀名
            String aa = name.substring(name.lastIndexOf("."));
            // 在给定的路径下存放图片信息
            String no = FileHelp.getNo();
            File parentDir = new File(FileHelp.getPath()+"\\upload", no + aa);
            String pname = "upload\\"+ no + aa;
            // 读下给定路径的文件
            File src = new File(FileHelp.getPath());
            // 判断文件是否存在,不存在进行创建
            if (!src.exists()) {
                src.mkdirs();
            }
            // 创建输入流
            InputStream in = null;
            // 创建输出流
            OutputStream out = null;
            try {
                // 上传文件写入请求流中
                in = new FileInputStream(file);
                // 读取流中的数据
                byte[] b = new byte[in.available()];
                in.read(b);
                // 把本地读到的文件放到输出流里
                out = new FileOutputStream(parentDir);
                // 写出输出流
                out.write(b);
            } catch (Exception e) {
                e.printStackTrace();
                throw e;
            } finally {
                // 及时关闭输入和输出流
                if (in != null)
                    in.close();
                if (out != null)
                    out.close();
            }
            return pname;
        }
}




下面那个是我的util类 上面是调用方法时候的代码,求救

  • 写回答

1条回答 默认 最新

  • 淡定的攻城狮_LJ 2017-04-15 02:07
    关注

    在上传之前获取图片的格式,然后在服务器接收端强制设定一下格式嘛

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体