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

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
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况