import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import javax.annotation.Resource;
import javax.servlet.ServletInputStream;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jboss.netty.handler.codec.http.HttpRequest;
import org.springframework.mock.web.MockMultipartFile;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import com.hlinkcloud.ubp.core.constant.RedisKeyConstant;
import com.hlinkcloud.ubp.core.service.RedisService;
import com.hlinkcloud.ubp.core.util.BaseStringUtil;
import com.hlinkcloud.ubp.facade.bean.common.FastDFSFile;
import com.hlinkcloud.ubp.facade.bean.common.FileManagerConfig;
import com.hlinkcloud.ubp.facade.service.common.FileInfoService;
import com.hlinkcloud.ubp.facade.service.permission.UserService;
import com.hlinkcloud.ubp.facade.util.DictionaryCommUtil;
import fr.opensagres.xdocreport.core.io.internal.ByteArrayOutputStream;
@Controller
@RequestMapping("/wx_upload")
public
class
WxUploadImgBusiness {
@Resource
private
UserService userService;
@Resource
private
RedisService redisService;
@Resource(name = "commonUtil")
private
DictionaryCommUtil commUtil;
@Resource
private
FileInfoService fileService;
@RequestMapping("/getUploadFilePath")
@ResponseBody
public
Map<String, Object> doWxUploadFile(HttpServletRequest request, HttpServletResponse response) {
HashMap<String, Object> map =
new
HashMap<String, Object>();
try
{
MultipartHttpServletRequest req = (MultipartHttpServletRequest) request;
MultipartFile picture = req.getFile("file");
if
(picture != null && picture.getBytes().length != 0){
byte[] bytes = picture.getBytes();
String ext = picture.getOriginalFilename().substring(
picture.getOriginalFilename().lastIndexOf(".") + 1
);
map.put("code", "S");
map.put( "msg", "服务调用成功");
map.put("statusCode", 200);
map.put("data", filePath);
}
else
{
throw
new
RuntimeException("上传图片异常或空图片!");
}
}
catch
(IOException e) {
e.printStackTrace();
map.put("code", "F");
map.put("msg", "服务调用失败");
map.put("statusCode", 500);
map.put("data", null);
}
return
map;
}
@RequestMapping(value = "/doUploadFileOfCI" , method = RequestMethod.POST )
public
@ResponseBody Map<String,Object> doUploadFile(
HttpServletRequest request,
HttpServletResponse response) throws IOException{
System.out.println("doTestMultipartFile:");
MultipartHttpServletRequest req = (MultipartHttpServletRequest) request;
MultipartFile picture = req.getFile("UploadedImage");
if
(req != null){
Enumeration enume= req.getAttributeNames();
while
(enume.hasMoreElements()){
System.out.println("enume:"+enume.nextElement());
}
Iterator<String> fileNames = req.getFileNames();
while
(fileNames.hasNext()){
System.out.println("fileNames:"+fileNames.next());
}
Map<String,MultipartFile> fileMap = req.getFileMap();
if
(fileMap != null && fileMap.size() > 0){
Set<String> set = fileMap.keySet();
for
(String key:set){
System.out.println("String:"+key);
}
}
InputStream is = req.getInputStream();
System.out.println("InputStream:"+is);
int length = -1;
while
( (length = is.read()) != -1 ){
System.err.println("data:"+length);
}
Enumeration enumee = req.getParameterNames();
while
(enumee.hasMoreElements()){
System.out.println("enumee:"+enumee.nextElement());
}
}
System.out.println(picture);
return
null;
}
}