java 在Spring MVC中将字节数据转换为MultipartFile

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 在Spring MVC中将字节数据转换为MultipartFile相关的知识,希望对你有一定的参考价值。

import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.web.multipart.MultipartFile;

public class BASE64DecodedMultipartFile implements MultipartFile {
	
	protected static final Logger log = LogManager.getLogger(BASE64DecodedMultipartFile.class);
	
	private byte[] imgContent;
	private String fileName;
	private String ext;
  
	public String getExt() {
		return ext;
	}
	
	@Override
	public String getName() {
		return fileName;
	}

	@Override
	public String getOriginalFilename() {
		return fileName;
	}

	@Override
	public String getContentType() {
		if(getExt() == null) {
			return null;
		}
		return MimeTypes.getMimeType(getExt());
	}

	@Override
	public boolean isEmpty() {
		return imgContent == null || imgContent.length == 0;
	}

	@Override
	public long getSize() {
		return imgContent.length;
	}

	@Override
	public byte[] getBytes() throws IOException {
		return imgContent;
	}

	@Override
	public InputStream getInputStream() throws IOException {
		return new ByteArrayInputStream(imgContent);
	}

	@Override
	public void transferTo(File dest) throws IOException {
		try (FileOutputStream f = new FileOutputStream(dest)) {
			f.write(imgContent);
		}
	}
}

以上是关于java 在Spring MVC中将字节数据转换为MultipartFile的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Spring MVC (JPA) 中将实体对象列表转换为页面对象?

如何在 Java 中将 libGDX 的纹理转换为字节数组并再次返回

在 JavaCard 中将字节转换为短字节

如何在Java中将二维布尔数组转换为一维字节数组?

在java中将字符串转换为字节[重复]

在Java中将字节[]转换为“文件”[重复]