@RequestMapping(value = "/loan/doUpload", method = RequestMethod.POST)
// @ResponseBody
public String upload(@RequestParam(value = "file", required = false) MultipartFile file,HttpSession session, HttpServletResponse response)
throws IOException {
LoanFile loanFile = null;
try{
Customer customer = (Customer)session.getAttribute(Constants.SESSION_USER);
loanFile = loanService.doUpload(file, customer);
}catch(Exception e){
e.printStackTrace();
}
response.setContentType("text/html;charset=UTF-8");
String textFiles = JsonUtil.getJsonStringGeneric(loanFile);
response.getWriter().write("<span>"+textFiles+"</span>");
return null;
}
@RequestMapping(value = "/laon/download")
public void download(@RequestParam(value="id") int id, HttpServletResponse response){
LoanFile loanFile = null;
try{
loanFile = loanService.getLoanFileById(id);
loanService.doDownload(loanFile.getFilePath(), loanFile.getFileFullName(), response);
}catch(Exception e){
e.printStackTrace();
}
}
@RequestMapping(value = "/loan/getPhotoById")
public void getPhotoById (int id, final HttpServletResponse response){
LoanFile loanFile = loanService.getLoanFileById(id);
File file = new File(loanService.getRootPath()+loanFile.getFilePath());
if (file.exists())
{
FileInputStream out = null;
try
{
out = new FileInputStream(file);
byte[] data = new byte[loanFile.getFileSize()];
out.read(data);
response.setContentType("image/jpeg");
response.setCharacterEncoding("UTF-8");
OutputStream outputSream = response.getOutputStream();
InputStream in = new ByteArrayInputStream(data);
int len = 0;
byte[] buf = new byte[1024];
while ((len = in.read(buf, 0, 1024)) != -1) {
outputSream.write(buf, 0, len);
}
outputSream.close();
}catch(Exception e){
e.printStackTrace();
}finally{
if(out != null){
try {
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
@RequestMapping(value = "/loan/getPhotoByIdandSize")
public void getPhotoById (int id, int width, int height, final HttpServletResponse response){
LoanFile loanFile = loanService.getLoanFileById(id);
File file = new File(loanService.getRootPath() + loanFile.getFilePath());
if (file.exists()) {
FileInputStream out = null;
try {
out = new FileInputStream(file);
byte[] data = new byte[loanFile.getFileSize()];
out.read(data);
data = scaleImage(data, width, height);
response.setContentType("image/jpeg");
response.setCharacterEncoding("UTF-8");
OutputStream outputSream = response.getOutputStream();
InputStream in = new ByteArrayInputStream(data);
int len = 0;
byte[] buf = new byte[1024];
while ((len = in.read(buf, 0, 1024)) != -1) {
outputSream.write(buf, 0, len);
}
outputSream.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (out != null) {
try {
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
public static byte[] scaleImage(byte[] data, int width, int height) throws IOException {
BufferedImage buffered_oldImage = ImageIO.read(new ByteArrayInputStream(data));
int imageOldWidth = buffered_oldImage.getWidth();
int imageOldHeight = buffered_oldImage.getHeight();
double scale_x = (double) width / imageOldWidth;
double scale_y = (double) height / imageOldHeight;
double scale_xy = Math.min(scale_x, scale_y);
int imageNewWidth = (int) (imageOldWidth * scale_xy);
int imageNewHeight = (int) (imageOldHeight * scale_xy);
BufferedImage buffered_newImage = new BufferedImage(imageNewWidth, imageNewHeight, BufferedImage.TYPE_INT_RGB);
buffered_newImage.getGraphics().drawImage(buffered_oldImage.getScaledInstance(imageNewWidth, imageNewHeight, BufferedImage.SCALE_SMOOTH), 0, 0, null);
buffered_newImage.getGraphics().dispose();
ByteArrayOutputStream outPutStream = new ByteArrayOutputStream();
ImageIO.write(buffered_newImage, "jpeg", outPutStream);
return outPutStream.toByteArray();
}
文件上傳 圖片查看
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- TCP傳輸 TCP傳輸是怎樣建立的呢? Socket和ServerSocket 建立客戶端和服務(wù)器端 建立連接后,...
- 由于項(xiàng)目還在開發(fā)階段,只能貼上部分代碼,敬請(qǐng)諒解; 注意點(diǎn): 在后臺(tái)上傳必須是調(diào)用此方法:uploadTaskWi...
- 1.項(xiàng)目中需要圖片的異步上傳,度娘之后發(fā)現(xiàn)有一個(gè)插件可以完成這個(gè)需求,即是:Uploadify 下面是這個(gè)異步上傳...
- 用手沖壺沖一杯醇正的單品咖啡并不難。工具容易準(zhǔn)備,過程簡(jiǎn)單。花三五分鐘的時(shí)間,在家或者辦公室就可享用一杯香醇咖啡,...