javaweb图片上传用字节数组



现在企业很少用传统的方法去上传图片,显示图片,一般都会转成字节数据数组或是base64来处理,
以下介绍如何将页面的file在后台转成字节数组来处理,


controller类代码


import org.apache.commons.fileupload.FileItem;
import org.apache.commons.io.IOUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.multipart.commons.CommonsMultipartFile;




@RequestMapping(value="/upJpg")
public ModelAndView upJpg(MultipartHttpServletRequest request) throws Exception{
   List<MultipartFile> list = request.getFiles("file");
            MultipartFile file = list.get(0);
            CommonsMultipartFile commonsMultipartFile =(CommonsMultipartFile) file;
            FileItem item = commonsMultipartFile.getFileItem();
            String fileName = item.getName();
            String fileType = fileName.substring(fileName.lastIndexOf("."), fileName.length());
            byte[] filebyte = IOUtils.toByteArray(request.getFile("file").getInputStream());
return null;
}


以下提供一个方法可以把前端的参数转成map:
public Map tranfMap(MultipartHttpServletRequest request){
Map properties = request.getParameterMap();
Map returnMap = new HashMap();
Iterator entries = properties.entrySet().iterator();
Map.Entry entry;
String name = "";
String value = "";
while (entries.hasNext()) {
entry = (Map.Entry) entries.next();
name = (String) entry.getKey();
Object valueObj = entry.getValue();
if(null == valueObj){
value = "";
}else if(valueObj instanceof String[]){
String[] values = (String[])valueObj;
for(int i=0;i<values.length;i++){
value = values[i] + ",";
}
value = value.substring(0, value.length()-1);
}else if(valueObj instanceof String){
value = valueObj.toString();
}else {
value = valueObj.toString();
}
returnMap.put(name, value);
}
map = returnMap;
}




jsp页面
<form action="recharge_record/upJpg.do" name="Form" id="Form" method="post" enctype="multipart/form-data">


<p>图片:</p>
<p><input type="file" name="file" id="file" maxlength="32" /></p>
<p><input type="submit" name="submit" id="submit" value="上传" maxlength="32" /></td></p>
</form>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值