package com.yundongsports.arena.controller.basketballsite;

import com.yundongsports.arena.ResponseVo.Response;
import org.apache.commons.io.IOUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.io.*;
import java.util.Date;
import java.util.Map;
import java.util.Properties; /**
* Created by CF on 2016/12/23.
*/
@Controller
public class ImageUploadController { @Value("${base.web.url}")
private String serverHost;
/**
* 将字符串转为图片
* @param
* @return
*/
@RequestMapping(method = RequestMethod.POST, value = "/api/v1/imageUpload")
@ResponseBody
public Map<String,Object> generateImage(@RequestParam(value = "upload", required = false) MultipartFile uploadFile,
HttpServletRequest req)throws Exception {
Response response = new Response();
System.out.println(uploadFile.getOriginalFilename()+"##"+serverHost);
String imgFilePath = req.getServletContext().getRealPath("/") ;
String img= "img/"; String name=new Date().getTime()+uploadFile.getOriginalFilename();
File file =new File(imgFilePath+img);
//如果文件夹不存在则创建
if (!file .exists() && !file .isDirectory()){
file.mkdir();
}
InputStream input = null;
OutputStream out = null;
try {
input = uploadFile.getInputStream();
out = new FileOutputStream(imgFilePath+img+name);
IOUtils.copy(input,out);
out.flush();
out.close();
input.close();
} catch (Exception e) {
throw e;
}finally{
IOUtils.closeQuietly(input);
IOUtils.closeQuietly(out);
}
String url=serverHost+img+name;
System.out.println("服务器的绝对路径-------------------"+url);
response.put("data",url);
response.setResult(Response.TYPE.SUCCESS);
return response.getResult();
} }

java io流 图片和字符串之间的转换的更多相关文章

  1. Java IO流详解(六)——转换流

    转换流也是一种处理流,它提供了字节流和字符流之间的转换.在Java IO流中提供了两个转换流:InputStreamReader 和 OutputStreamWriter,这两个类都属于字符流.其中I ...

  2. <摘录>Gson对Java嵌套对象和JSON字符串之间的转换

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,具有良好的跨平台特性.近几年来已经和XML一样成为C/S架构中广泛采用的数据格式.有关JSON的更多知识, ...

  3. java中字符数组与字符串之间互相转换的方法

    public static void main(String[] args) { //1.字符数组 转换成 字符串 //(1)直接在构造String时转换 char[] array = new cha ...

  4. java IO流读取图片供前台显示

    最近项目中需要用到IO流来读取图片以提供前台页面展示,由于以前一直是用url路径的方式进行图片展示,一听说要项目要用IO流读取图片感觉好复杂一样,但任务下达下来了,做为程序员只有选择去执行喽,于是找了 ...

  5. java IO流详解

    流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...

  6. Java IO流学习总结

    Java流操作有关的类或接口: Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...

  7. Java IO流详尽解析

    流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...

  8. JAVA.IO流学习笔记

    一.java.io 的描述 通过数据流.序列化和文件系统提供系统输入和输出.IO流用来处理设备之间的数据传输 二.流 流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数 ...

  9. 【转载】JAVA IO 流的总结

    来自http://www.cnblogs.com/oubo/archive/2012/01/06/2394638.html,写的很详细 Java流操作有关的类或接口: Java流类图结构: 流的概念和 ...

随机推荐

  1. Money, save or spend, this is a problem .

    Win a lottery? Had a great hand at the casino? Did fortune shine upon you in the stock market? 彩票中了大 ...

  2. Chrome Error Code:ERR_UNSAFE_PORT

    最近在IIS上部署一些测试站点,发现87端口在使用Chrome浏览的时候打不开,但是使用IE却OK~ 点击更多信息,提示错误代码:ERR_UNSAFE_PORT 不安全的端口?这是什么情况? 度娘发现 ...

  3. js 中histroy.back()与history.go()的区别

    样例: js6.jsp <%@ page language="java" import="java.util.*" pageEncoding=" ...

  4. poj 1737男人八题之一 orz ltc

    这是楼教主的男人八题之一.很高兴我能做八分之一的男人了. 题目大意:求有n个顶点的连通图有多少个. 解法: 1.  用总数减去不联通的图(网上说可以,我觉得时间悬) 2.    用动态规划(数学递推) ...

  5. Mongodb系统管理员权限设置

    管理员账号无法执行show dbs .show collections Js代码   { "_id" : ObjectId("52a82bb26cea234c4deb06 ...

  6. python界面

    import easygui as g import sys while 1: g.msgbox("我一定要学会编程!","加油!") #choices = [ ...

  7. FWT与High dick(划掉改成Dimensional) Fourier Transform

    我们大家都知道xor卷积有个很好的做法:FWT.FWT的变换形式是很好看的 // 说明一下Vector可以向量化运算,也可以当做数组来slice与concat Vector tf(A,2^n){ Ve ...

  8. touch命令

    [touch]      改变文件的时间戳 命令格式: touch [OPTION]... FILE... 命令功能: 更新每个文件的访问和修改时间到当前时间或建立一个不存在的文件 命令参数: -a  ...

  9. 关于easyui datagrid 表格数据处理

    首先先将easyui 引入到jsp页面中 <link rel="stylesheet" type="text/css" href="easyui ...

  10. python 以及其他java php等在ubuntu上切换的命令

    sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100 sudo update-alternati ...