package com.jspsmart.upload; import java.io.ByteArrayInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.math.BigInteger; import java.sql.ResultSet; import java.sql.SQLException; import javax.servlet.ServletException; public class File { private SmartUpload m_parent; private int m_startData; private int m_endData; private int m_size; private String m_fieldname; private String m_filename; private String m_fileExt; private String m_filePathName; private String m_contentType; private String m_contentDisp; private String m_typeMime; private String m_subTypeMime; private String m_contentString; private boolean m_isMissing; public static final int SAVEAS_AUTO = 0; public static final int SAVEAS_VIRTUAL = 1; public static final int SAVEAS_PHYSICAL = 2; File() { this.m_startData = 0; this.m_endData = 0; this.m_size = 0; this.m_fieldname = new String(); this.m_filename = new String(); this.m_fileExt = new String(); this.m_filePathName = new String(); this.m_contentType = new String(); this.m_contentDisp = new String(); this.m_typeMime = new String(); this.m_subTypeMime = new String(); this.m_contentString = new String(); this.m_isMissing = true; } public void saveAs(String s) throws IOException, SmartUploadException { saveAs(s, 0); } public void saveAs(String s, int i) throws IOException, SmartUploadException { String s1 = new String(); s1 = this.m_parent.getPhysicalPath(s, i); if (s1 == null) throw new IllegalArgumentException("There is no specified destination file (1140)."); try { java.io.File file = new java.io.File(s1); FileOutputStream fileoutputstream = new FileOutputStream(file); fileoutputstream.write(this.m_parent.m_binArray, this.m_startData, this.m_size); fileoutputstream.close(); } catch (IOException ioexception) { throw new SmartUploadException("File can't be saved (1120)."); } } public void fileToField(ResultSet resultset, String s) throws ServletException, IOException, SmartUploadException, SQLException { long l = 0L; int i = 65536; int j = 0; int k = this.m_startData; if (resultset == null) throw new IllegalArgumentException("The RecordSet cannot be null (1145)."); if (s == null) throw new IllegalArgumentException("The columnName cannot be null (1150)."); if (s.length() == 0) throw new IllegalArgumentException("The columnName cannot be empty (1155)."); l = BigInteger.valueOf(this.m_size).divide(BigInteger.valueOf(i)).longValue(); j = BigInteger.valueOf(this.m_size).mod(BigInteger.valueOf(i)).intValue(); try { for (int i1 = 1; i1 < l; ++i1) { resultset.updateBinaryStream(s, new ByteArrayInputStream(this.m_parent.m_binArray, k, i), i); k = (k != 0) ? k : 1; k = i1 * i + this.m_startData; } if (j <= 0) return; resultset.updateBinaryStream(s, new ByteArrayInputStream(this.m_parent.m_binArray, k, j), j); } catch (SQLException sqlexception) { byte[] abyte0 = new byte[this.m_size]; System.arraycopy(this.m_parent.m_binArray, this.m_startData, abyte0, 0, this.m_size); resultset.updateBytes(s, abyte0); } catch (Exception exception) { throw new SmartUploadException("Unable to save file in the DataBase (1130)."); } } public boolean isMissing() { return this.m_isMissing; } public String getFieldName() { return this.m_fieldname; } public String getFileName() { return this.m_filename; } public String getFilePathName() { return this.m_filePathName; } public String getFileExt() { return this.m_fileExt; } public String getContentType() { return this.m_contentType; } public String getContentDisp() { return this.m_contentDisp; } public String getContentString() { String s = new String(this.m_parent.m_binArray, this.m_startData, this.m_size); return s; } public String getTypeMIME() throws IOException { return this.m_typeMime; } public String getSubTypeMIME() { return this.m_subTypeMime; } public int getSize() { return this.m_size; } protected int getStartData() { return this.m_startData; } protected int getEndData() { return this.m_endData; } protected void setParent(SmartUpload smartupload) { this.m_parent = smartupload; } protected void setStartData(int i) { this.m_startData = i; } protected void setEndData(int i) { this.m_endData = i; } protected void setSize(int i) { this.m_size = i; } protected void setIsMissing(boolean flag) { this.m_isMissing = flag; } protected void setFieldName(String s) { this.m_fieldname = s; } protected void setFileName(String s) { this.m_filename = s; } protected void setFilePathName(String s) { this.m_filePathName = s; } protected void setFileExt(String s) { this.m_fileExt = s; } protected void setContentType(String s) { this.m_contentType = s; } protected void setContentDisp(String s) { this.m_contentDisp = s; } protected void setTypeMIME(String s) { this.m_typeMime = s; } protected void setSubTypeMIME(String s) { this.m_subTypeMime = s; } public byte getBinaryData(int i) { if (this.m_startData + i > this.m_endData) throw new ArrayIndexOutOfBoundsException("Index Out of range (1115)."); if (this.m_startData + i <= this.m_endData) return this.m_parent.m_binArray[(this.m_startData + i)]; return 0; } }
最近下载更多
sterbj LV6
2022年1月12日
pangxiaoli LV3
2019年7月3日
myWayne LV7
2019年6月7日
talentwsc LV1
2019年3月26日
空城寂 LV1
2019年1月19日
5555611 LV1
2019年1月9日
haiwen LV19
2018年11月8日
liudeshuai970926 LV6
2018年10月29日
最代码系统管理员 LV1
2018年9月20日
mudingc木钉 LV30
2018年9月12日
最近浏览更多
java小书童 LV17
1月29日
CaoCaii LV6
2022年6月11日
shiropurple LV2
2022年5月8日
我不划水
2022年4月24日
暂无贡献等级
cw1984
2022年3月6日
暂无贡献等级
sterbj LV6
2022年1月12日
lyd19931203 LV21
2021年11月15日
tangjj7260 LV18
2021年11月12日
陈佳兴 LV4
2021年10月23日
marcoreus1 LV2
2021年10月13日