【发布时间】:2020-11-17 13:57:26
【问题描述】:
问题:无法将字节转换为多部分文件,我使用自定义多部分文件来包装字节、名称、大小、内容类型。图像存储在目标部分,但不显示在前端。 日志中没有错误。谁能帮我解决这个问题。
自定义多部分文件。
public class BASE64DecodedMultipartFile implements MultipartFile {
private final byte[] imgContent;
private String contentType;
private String originalFilename;
private String destPath = System.getProperty("java.io.tmpdir");
private FileOutputStream fileOutputStream;
public File getFile() {
return file;
}
public void setFile(File file) {
this.file = file;
}
private File file;
private long size;
public BASE64DecodedMultipartFile(byte[] imgContent, String contentType,String originalFilename,String path,long size) {
this.imgContent = imgContent;
this.contentType=contentType;
this.originalFilename=originalFilename;
file = new File(destPath + originalFilename);
this.size=size;
}
@Override
public String getName() {
return "picture";
}
@Override
public String getOriginalFilename() {
return originalFilename;
}
@Override
public String getContentType() {
return contentType;
}
@Override
public boolean isEmpty() {
return false;
}
@Override
public long getSize() {
return size;
}
@Override
public byte[] getBytes() throws IOException {
return imgContent;
}
@Override
public InputStream getInputStream() throws IOException {
return new ByteArrayInputStream(imgContent);
}
@Override
public void transferTo(File file) throws IOException, IllegalStateException {
fileOutputStream = new FileOutputStream(file);
fileOutputStream.write(imgContent);
}
}
使用自定义的 Multipart 文件如下。
BASE64DecodedMultipartFile bASE64DecodedMultipartFile=new BASE64DecodedMultipartFile(imgbytes,"image/png","pleasure image 1.png",path,527110);
bASE64DecodedMultipartFile.transferTo(bASE64DecodedMultipartFile.getFile());
//以视图发送的形式存储。 form.setPicture(bASE64DecodedMultipartFile);
JSP 页面:
<div class="col-sm-9">
我没有在 UI 中获取图像内容: enter image description here
【问题讨论】:
标签: javascript java spring-mvc jsp