工作总结之---上传下载图片文件

2024-08-27 10:18

本文主要是介绍工作总结之---上传下载图片文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    /**
     * @Title: setData
     * @Description: 上传文件,将文件信息保存到数据库,前台from提交
     * @return: void
     */
    @RequestMapping(value = "/saveData", method = RequestMethod.POST)
    @ResponseBody
    public void saveData(HttpServletRequest request, HttpServletResponse response, TribuneInfoModel tribuneInfoModel) throws IOException{
        //保存帖子除文件外其他信息
        DefaultMultipartHttpServletRequest multipartHttpServletRequest = (DefaultMultipartHttpServletRequest)request;
        String id = UUID.randomUUID().toString().substring(0, 32);
        PrintWriter out = null;
        try {
          List<MultipartFile> multipartFileList = multipartHttpServletRequest.getMultiFileMap().get("file2");//多个文件上传
//        MultipartFile multipartFile2 = multipartHttpServletRequest.getFile("file2");//单个文件上传
            Properties properties = ConfigUtil.PROPERTIES;
            String path = properties.getProperty("imageResourcrsPath");//虚拟路径对应的服务器的真实路径,映射名称为/resource
            path = path + "/file";//文件上传真实路径
            String relativePath ="/resource/file";
            com.tails.system.model.treasure.File  file=new com.tails.system.model.treasure.File();//文件信息实体类
            for(int i=0; i<multipartFileList.size(); i++){
                String fileName2 = multipartFileList.get(i).getOriginalFilename();
                if(fileName2 == null || "".equals(fileName2)){
                    continue;
                }
                File file2 = new File(fileName2);
                File newFile2 = FileUtil.renameFile(file2);//上传文件重命名
                String newFileName2 = newFile2.getName();
                File targetFile2 = new File(path, newFileName2);
                if(!targetFile2.exists()){
                    targetFile2.mkdirs();
                }
                multipartFileList.get(i).transferTo(targetFile2);
                file.setBusinessId(id);
                file.setBusinessType("2");
                file.setFileName(fileName2);
                file.setFilePath(relativePath+"/"+newFileName2);
                fileService.addFile(file);//保存文件信息
            }
            out = response.getWriter();
            out.flush();
            out.println("<script>alert('新增成功');window.location.href='/tribuneInfo/tribuneInfoList';</script>");
            out.close();
        } catch (Exception e) {
            e.printStackTrace();
            out.flush();
            out.println("<script>alert('新增失败');window.location.href='/tribuneInfo/addTirbuneInfo';</script>");
            out.close();
        }
    }
    
    /**
* <p>
* Description: 上传文件重命名
* </p>

* @param file
*            文件名
* @return 文件
* @author : gaoying
* @update :
* @date : 2015-7-26
*/
public static File renameFile(File file) {
String body = "";
String ext = "";
Date date = new Date();
int pot = file.getName().lastIndexOf(".");
if (pot != -1) {
// body = date.getTime() + "";
body = UUID.randomUUID().toString().replace("-", "");
ext = file.getName().substring(pot);
} else {
body = (new Date()).getTime() + "";
ext = "";
}
String newName = body + ext;
file = new File(file.getParent(), newName);
return file;
}


/**

     * @Title:
     * @Description: 文件下载
     * @return: void
     */
    @RequestMapping(value = "/dlFile")
    public String downloadTemplateFile(HttpServletRequest request, HttpServletResponse response) {
        try{
            String fileSavePath = request.getParameter("filePath");//文件上传保存的真实路径
            String fileName = request.getParameter("fileName");
            File f = new File(fileSavePath);
            if(!f.exists()){
                f.createNewFile();
            }
            BufferedInputStream br = new BufferedInputStream(new FileInputStream(f));
            byte[] buf = new byte[1024];
            int len = 0;
            response.reset();
            response.setContentType("application/x-msdownload");
            response.addHeader("Content-Disposition", "attachment;filename="+ URLEncoder.encode(fileName, "UTF-8"));
            OutputStream out=response.getOutputStream();
            while ((len = br.read(buf))>0){
                out.write(buf,0,len);
            }
            out.flush();
            br.close();
            out.close();
        }catch(Exception e){
            e.printStackTrace();
        }
        return null;
    }

这篇关于工作总结之---上传下载图片文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1111385

相关文章

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

详解C#如何提取PDF文档中的图片

《详解C#如何提取PDF文档中的图片》提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使用,下面我们就来看看如何使用C#通过代码从PDF文档中提取图片吧... 当 PDF 文件中包含有价值的图片,如艺术画作、设计素材、报告图表等,提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使

Java实现文件图片的预览和下载功能

《Java实现文件图片的预览和下载功能》这篇文章主要为大家详细介绍了如何使用Java实现文件图片的预览和下载功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... Java实现文件(图片)的预览和下载 @ApiOperation("访问文件") @GetMapping("

java常见报错及解决方案总结

《java常见报错及解决方案总结》:本文主要介绍Java编程中常见错误类型及示例,包括语法错误、空指针异常、数组下标越界、类型转换异常、文件未找到异常、除以零异常、非法线程操作异常、方法未定义异常... 目录1. 语法错误 (Syntax Errors)示例 1:解决方案:2. 空指针异常 (NullPoi

基于Python开发批量提取Excel图片的小工具

《基于Python开发批量提取Excel图片的小工具》这篇文章主要为大家详细介绍了如何使用Python中的openpyxl库开发一个小工具,可以实现批量提取Excel图片,有需要的小伙伴可以参考一下... 目前有一个需求,就是批量读取当前目录下所有文件夹里的Excel文件,去获取出Excel文件中的图片,并

Java实现数据库图片上传与存储功能

《Java实现数据库图片上传与存储功能》在现代的Web开发中,上传图片并将其存储在数据库中是常见的需求之一,本文将介绍如何通过Java实现图片上传,存储到数据库的完整过程,希望对大家有所帮助... 目录1. 项目结构2. 数据库表设计3. 实现图片上传功能3.1 文件上传控制器3.2 图片上传服务4. 实现

Java反转字符串的五种方法总结

《Java反转字符串的五种方法总结》:本文主要介绍五种在Java中反转字符串的方法,包括使用StringBuilder的reverse()方法、字符数组、自定义StringBuilder方法、直接... 目录前言方法一:使用StringBuilder的reverse()方法方法二:使用字符数组方法三:使用自

kotlin中的模块化结构组件及工作原理

《kotlin中的模块化结构组件及工作原理》本文介绍了Kotlin中模块化结构组件,包括ViewModel、LiveData、Room和Navigation的工作原理和基础使用,本文通过实例代码给大家... 目录ViewModel 工作原理LiveData 工作原理Room 工作原理Navigation 工

Java实现数据库图片上传功能详解

《Java实现数据库图片上传功能详解》这篇文章主要为大家详细介绍了如何使用Java实现数据库图片上传功能,包含从数据库拿图片传递前端渲染,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、前言2、数据库搭建&nbsChina编程p; 3、后端实现将图片存储进数据库4、后端实现从数据库取出图片给前端5、前端拿到