package jp.dip.arimodoki.cntl;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import org.apache.commons.codec.binary.Base64;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;
import jp.dip.arimodoki.common.CConst;
import jp.dip.arimodoki.model.FormFileIf;
@Controller
public class Dropzone implements CConst {
@Autowired
private FormFileIf frmupload;
@ModelAttribute("FormUpload")
public FormFileIf setupBind() {
logger.log_info(this,"setupBind");
return this.frmupload;
}
@RequestMapping(value = "/dzfileuploadview")
public String dzfileuploadview() {
return "mydropzone";
}
@RequestMapping(value = "/dzupload")
public String dzupload(
@ModelAttribute("FormUpload") FormFileIf uploadfile
) throws Exception {
MultipartFile[] files = uploadfile.getUploadfile();
String[] imgtype = uploadfile.getImgtype();
String[] respData = new String[files.length];
for(int i = 0 ; i < files.length ; i++) {
InputStream is = files[i].getInputStream();
ByteArrayOutputStream os = new ByteArrayOutputStream();
byte[] indata = new byte[10240*16];
int siz;
while( ( siz = is.read(indata, 0, indata.length) ) > 0 ) {
os.write( indata, 0, siz );
}
is.close();
String base64 = new String(Base64.encodeBase64(os.toByteArray()), "ASCII");
StringBuffer data = new StringBuffer();
data.append("data:");
data.append(imgtype[i]);
data.append(";base64,");
data.append(base64);
respData[i] = new String(data.toString());
}
this.frmupload.setRespImage(respData);
return "mydropresult";
}
}
|