All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.zoi7.file.uploader.document.LargeFile Maven / Gradle / Ivy

package com.zoi7.file.uploader.document;

import com.zoi7.file.uploader.base.BaseDocument;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;

/**
 * LargeFile 文档类.
 */
public class LargeFile extends BaseDocument {

    private static final long serialVersionUID = 1L;

    private InputStream file; // 文件输入流
    private String originName; // 原文件名称

    public LargeFile() {}

    public LargeFile(InputStream file, String originName, String fileType) {
        this.originName = originName;
        this.fileType = fileType;
        this.file = file;
        this.filename = generateUUIDName(originName);
    }

    public byte[] getContentBytes() throws IOException {
        if (file != null) {
            ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
            byte[] buffer = new byte[1024 * 4];
            int n;
            while ((n = file.read(buffer)) != -1) {
                outputStream.write(buffer, 0, n);
            }
            return outputStream.toByteArray();
        }
        return null;
    }

    public InputStream getFile() {
        return file;
    }

    public void setFile(InputStream file) {
        this.file = file;
    }

    public String getOriginName() {
        return originName;
    }

    public void setOriginName(String originName) {
        this.originName = originName;
    }

    @Override
    public String toString() {
        return "LargeFile{" +
                "file=" + file +
                ", originName='" + originName + '\'' +
                ", filename='" + filename + '\'' +
                ", fileType='" + fileType + '\'' +
                '}';
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy