首页 > 基础资料 博客日记

java:File与MultipartFile互转

2024-09-14 23:00:08基础资料围观117

本篇文章分享java:File与MultipartFile互转,对你有帮助的话记得收藏一下,看Java资料网收获更多编程知识

1 概述

当我们在处理文件上传的功能时,通常会使用MultipartFile对象来表示上传的文件数据。然而,有时候我们可能已经有了一个File对象,而不是MultipartFile对象,需要将File对象转换为MultipartFile对象进行进一步处理。

在Java中,File对象表示文件在本地文件系统中的引用,而MultipartFile对象是Spring框架提供的用于处理文件上传的接口。MultipartFile接口提供了许多有用的方法,例如获取文件名、获取文件内容、获取文件大小等。

2 代码示例

2.1 引入依赖

<!--File转MultipartFile需要test包-->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<version>5.1.9.RELEASE</version>
			<scope>compile</scope>
		</dependency>

2.2 MultipartFile转File

    public static File convert(MultipartFile file) throws IOException {
        File convFile = new File(file.getOriginalFilename());
        convFile.createNewFile();
        FileOutputStream fos = new FileOutputStream(convFile);
        fos.write(file.getBytes());
        fos.close();
        return convFile;
    }

2.3 File转MultipartFile

//file 转换为 MultipartFile
    private  MultipartFile getMulFileByPath(String filePath)
    {
        FileItemFactory factory = new DiskFileItemFactory(16, null);
        String textFieldName = "textField";
        int num = filePath.lastIndexOf(".");
        String extFile = filePath.substring(num);
        FileItem item = factory.createItem(textFieldName, "text/plain", true,
                "MyFileName" + extFile);
        File newfile = new File(filePath);
        int bytesRead = 0;
        byte[] buffer = new byte[8192];
        try
        {
            FileInputStream fis = new FileInputStream(newfile);
            OutputStream os = item.getOutputStream();
            while ((bytesRead = fis.read(buffer, 0, 8192))
                    != -1)
            {
                os.write(buffer, 0, bytesRead);
            }
            os.close();
            fis.close();
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
 
        MultipartFile mfile = new CommonsMultipartFile(item);
        return mfile;
    }


文章来源:https://blog.csdn.net/u013938578/article/details/140909161
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

上一篇:mxGraph绘制机构图
下一篇:MySQL 视图

相关文章

本站推荐

标签云