MultipartFile类 文件处理

来源:互联网 发布:php字符串截取添加 编辑:程序博客网 时间:2024/05/18 03:58

后台处理:保存和删除

保存文件

    public void saveFile(MultipartFile file, String basePath) throws IOException {          if (!file.isEmpty()) { //如果文件不为空                //这里basePath ,relFolderPath不绝对,你可以自己写,是你文件存的文件夹的位置                String fullFolderPath = basePath + relFolderPath;  // 构建文件绝对路径                      /*第一步:根据文件夹路径创建文件夹 */                           File outFolder = new File(fullFolderPath);                if (!outFolder.exists()) {                    outFolder.mkdirs();                }               Date date = new Date();//用date和name为了存文件时,不重名               String picName = file.getOriginalFilename();               String fullPicPath = fullFolderPath + date.getTime() + picName; // 构建图片全路径(包含名称)               /*第二步:根据文件路径,生成文件*/              File outFile = new File(fullPicPath);              if (!outFile.exists()) { //如果文件不存在,创建文件                outFile.createNewFile();              }              /*第三步:根据空文件,创建字符流的目的地(输出流)*/              BufferedOutputStream outStream = new BufferedOutputStream(new FileOutputStream(outFile));              /*第四步:根据上传的文件,创建缓冲区,生成字符流,存入缓冲区*/              byte[] bytes = file.getBytes();              /*第五步:把缓冲区的字符流 写入 字符流目的地(把输入流写入输出流)*/              outStream.write(bytes);              /* 第六步:刷新流,关闭流 */              outStream.close();            }}
 /*第4步之后可以修改如下,把缓冲区改用输入流*//*第4步:获取输入流*/InputStream iStream = file.getInputStream();BufferedInputStream biStream = new BufferedInputStream(iStream);/*第5步:把输入流写入输出流*/int f;while ((f = biStream .read()) != -1) {    outStream .write(f);        }/*第6步:刷新流,关闭流*/outStream .flush();outStream .close();biStream .close();iStream.close();

删除文件

    public void deleteImg(String fullPath) {        //fullPath是文件所在的绝对物理路径        File deletefile = new File(fullPath);        deletefile.delete();    }

前台处理

获取所选择的文件的大小,判断文件类型:是不是图片
html代码

<div>        <label>上传的文件:</label> <input type="file" id="file" name="file"            onchange="getFilesize(this)" /></div>

js代码

<script>    var fileSize = 0; //文件大小默认为0    function getFilesize(file) { //如果上传文件    //(1)判断文件后缀类型        var strs = new Array(); //定义一数组             var pic1 = $("#file").val(); //获取input框的值,文件路径        strs = pic1.split('.'); //分成数组存储        var suffix = strs[strs.length - 1]; //获取文件后缀        if (suffix != 'jpg' && suffix != 'gif' && suffix != 'jpeg'&& suffix != 'png')        {              //不是图片,做处理        } else {            //是图片,做处理        }    //(2)获取文件大小,以Kb为单位        fileSize = file.files[0].size / 1024;     }</script>
0 0