Speed :1
New Score :0
High Score :0
New Score :0
High Score :0
Run Best
NICE BUSINESS TYPE INDICATOR
3. 급전을 친구에게 빌렸는데 오늘이 돈을 주기로 한날.. 그런데 카드값을 내야하는 날도 오늘인데... 이걸 어쩌나...
4. 우리 회사는 중요한 의사 결정을 할때?
5. 열심히 일한 나를 위한 선물을 주고싶다. 어떤게 좋을까?
6. 은행에서 투자상품을 추천받았다. 어떤걸 가입하지?
7. 회사에서의 나는?
8. 꿈에서 깨어나니 20년 전으로 돌아갔다. 당신이 제일 먼저 하는일은?
9. 내가 인사 담당자라면 신규 입사자 채용 시 제일 중요하게 보는것은?
10. 회사에 정말 싫어하는 동료가 있다면?
11. 가난한 집의 가장이 되었다.. 자녀의 생일 날 선물은?
12. 평소 회사 출근 스타일은?
13.회사 체육대회 하는 날이다. 오늘 뭐하지?
14. 나의 업무 스타일은?
package com.healthcare.common.upload.http;
import java.io.File;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.servlet.ServletInputStream;
public class FilePart extends Part {
private String fileName;
private String filePath;
private String contentType;
private PartInputStream partInput;
FilePart(String name, ServletInputStream in, String boundary,
String contentType, String fileName, String filePath)
throws IOException {
super(name);
this.fileName = fileName;
this.filePath = filePath;
this.contentType = contentType;
partInput = new PartInputStream(in, boundary);
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public String getFilePath() {
return filePath;
}
public String getContentType() {
return contentType;
}
public InputStream getInputStream() {
return partInput;
}
public UploadedInfo writeTo(File fileOrDirectory,String locale) throws IOException {
long written = 0;
OutputStream fileOut = null;
UploadedInfo info = new UploadedInfo();
try {
if (fileName != null) {
info.original = asc2euc(fileName,locale);
File file;
if (fileOrDirectory.isDirectory()) {
fileName = checkAndGetFileName(fileOrDirectory, asc2euc(fileName,locale));
info.renames = fileName;
file = new File(fileOrDirectory, fileName);
} else {
file = fileOrDirectory;
}
fileOut = new BufferedOutputStream(new FileOutputStream(file));
written = write(fileOut);
info.size = written;
}
} finally {
if (fileOut != null) fileOut.close();
}
return info;
}
// public com.innosns.util.ByteArrayDataSource getDataSource() throws IOException{
// com.innosns.util.ByteArrayDataSource dataSource = new com.innosns.util.ByteArrayDataSource(partInput,contentType,fileName);
// return dataSource;
// }
public long writeTo(OutputStream out,String locale) throws IOException {
long size=0;
if (fileName != null) {
size = write( out );
}
return size;
}
//file write
long write(OutputStream out) throws IOException {
if (contentType.equals("application/x-macbinary")) {
out = new MacBinaryDecoderOutputStream(out);
}
long size=0;
int read;
byte[] buf = new byte[8 * 1024];
while((read = partInput.read(buf)) != -1) {
out.write(buf, 0, read);
size += read;
}
return size;
}
public boolean isFile() {
return true;
}
private String asc2euc(String asc,String locale ) throws java.io.UnsupportedEncodingException {
String encodingType=null;
if(asc == null) {
return "";
}
if(locale.equals("ko")){
encodingType = "EUC-KR";
}else if(locale.equals("ja")){
encodingType = "Shift_JIS";
}
return new String (asc.getBytes("8859_1"), encodingType);
//return new String (asc.getBytes(encodingType), encodingType);
//return new String (asc.getBytes(), encodingType);
}
private String checkAndGetFileName(File dir, String name) {
int idx = name.lastIndexOf(".");
String pref = name.substring(0, idx);
String sur = name.substring(idx);
File file = new File(dir, name);
int count = 0;
while(file.exists()) {
name = pref+"[" + ++count +"]"+ sur;
file = new File(dir , name);
}
return name;
}
}
728x90
반응형