当前位置: 首页 > 知识库问答 >
问题:

如何将字节数组转换为MultipartFile

曹光霁
2023-03-14
BASE64Decoder decoder = new BASE64Decoder();
byte[] decodedBytes = decoder.decodeBuffer(encodedBytes);

有什么方法可以将byte[]转换为org.springframework.web.multipart.multipartfile??

共有1个答案

伏德义
2023-03-14

org.springframework.web.multipart.multipartfile是一个接口,所以首先需要使用这个接口的实现。

对于该接口,我看到的唯一可以开箱即用的实现是org.springframework.web.multipart.commons.commonsMultiPartFile。该实现的API可以在这里找到

或者,由于org.springframework.web.multipart.multipartfile是一个接口,您可以提供自己的实现并简单地包装字节数组。作为一个微不足道的例子:

/*
*<p>
* Trivial implementation of the {@link MultipartFile} interface to wrap a byte[] decoded
* from a BASE64 encoded String
*</p>
*/
public class BASE64DecodedMultipartFile implements MultipartFile {
        private final byte[] imgContent;

        public BASE64DecodedMultipartFile(byte[] imgContent) {
            this.imgContent = imgContent;
        }

        @Override
        public String getName() {
            // TODO - implementation depends on your requirements 
            return null;
        }

        @Override
        public String getOriginalFilename() {
            // TODO - implementation depends on your requirements
            return null;
        }

        @Override
        public String getContentType() {
            // TODO - implementation depends on your requirements
            return null;
        }

        @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, IllegalStateException { 
            new FileOutputStream(dest).write(imgContent);
        }
    }
 类似资料:
  • 问题内容: 我想从数据库中获取图像。为此,我为图像创建了一个字节数组,该数组由字符串传递,现在我想将该字符串转换为图像格式。我正在将该图像分配给Jlabel字段。代码如下: 问题答案:

  • 问题内容: 我正在尝试从字节数组加载jar,而无需将其写入文件(将其加载到内存中)。我做了一个自定义的ClassLoader,但是当我尝试使用它并加载一个类时,它给了我ClassNotFoundException。 类加载器 主要 它可以正确加载我的课程并运行它,但是我一直在遇到随机错误。 问题答案: 这有点骇人听闻,但是他做了他的工作,这段代码基本上创建了一个伪造的url方案(myjarprot

  • 问题内容: 我正在使用以下方式读取文件: 我在这里发现。可以转换为吗?将转换为会占用更多空间吗? 编辑:我的文件包含数百万个整数,例如, 100000000 200000000 .....(使用普通的int文件写入)。我读到字节缓冲区。现在,我想将其包装到IntBuffer数组中。怎么做 ?我不想将每个字节转换为int。 问题答案: 您已经在注释中说过,您希望输入数组中的四个字节对应于输出数组中的

  • 我得到一个错误读数:

  • 问题内容: 使用Javascript,我正在对WCF服务进行AJAX调用,并且正在返回字节数组。如何将其转换为图像并显示在网页上? 问题答案: 我意识到这是一个旧线程,但是我设法通过Web服务上的AJAX调用做到了这一点,并认为我愿意分享… 我的页面中已经有图像: AJAX: 我的“ GetItemPreview”代码查询一个SQL Server,其中我将图像存储为base64字符串,并将该字段作

  • 我必须在皈依前向小恩迪安下订单。 在第一种情况下,我很容易进行转换: 在第二种情况下,转换不起作用: 数字3832745171大于,但如果我试图转换为long,我也会遇到问题。 我怎么能这么做?谢谢。 尝试将字节数组转换为int/long类型。