<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    騎豬闖天下

    J2ME隨筆,記錄成長的腳步

    統(tǒng)計

    留言簿(3)

    閱讀排行榜

    評論排行榜

    [J2ME]手機(jī)文件上傳--CMA端

    CMA端接收圖片的思想和proxy中相似,接收字節(jié)數(shù)組,然后截取轉(zhuǎn)換成圖片及所需數(shù)據(jù),大致代碼如下:

      1 package com.freelynet.meta.webapp.actions.kjava;
      2 
      3 import java.io.BufferedInputStream;
      4 import java.io.File;
      5 import java.io.FileNotFoundException;
      6 import java.io.FileOutputStream;
      7 import java.io.IOException;
      8 import java.io.UnsupportedEncodingException;
      9 import java.text.ParseException;
     10 import java.text.SimpleDateFormat;
     11 import java.text.Format;
     12 import java.text.DecimalFormat;
     13 import java.util.ArrayList;
     14 import java.util.Date;
     15 import java.util.List;
     16 import java.util.Map;
     17 import java.util.regex.Matcher;
     18 import java.util.regex.Pattern;
     19 
     20 import javax.servlet.http.HttpServletRequest;
     21 
     22 import org.apache.struts2.ServletActionContext;
     23 import org.apache.struts2.config.ParentPackage;
     24 import org.apache.struts2.config.Result;
     25 import org.apache.struts2.config.Results;
     26 import org.apache.struts2.dispatcher.ServletDispatcherResult;
     27 
     28 import com.freelynet.bboss.soap.bean.SoapDataContainer;
     29 import com.freelynet.bboss.soap.bean.SoapUserInfo;
     30 import com.freelynet.bboss.soap.service.IGroupCustomerService;
     31 import com.freelynet.meta.model.Department;
     32 import com.freelynet.meta.model.SysUser;
     33 import com.freelynet.meta.service.ApplicationException;
     34 import com.freelynet.meta.service.BizService;
     35 import com.freelynet.meta.service.BizServiceBean;
     36 import com.freelynet.meta.service.BossService;
     37 import com.freelynet.meta.service.UserManager;
     38 import com.freelynet.meta.util.BossQuery;
     39 import com.freelynet.meta.webapp.action.BaseAction;
     40 import com.freelynet.meta.webapp.actions.admin.BaseAdminAction;
     41 import com.opensymphony.xwork2.ActionContext;
     42 import com.freelynet.sxcma.interfaces.helper.CmaHelper;
     43 
     44 /**
     45  * @author moderndai
     46  * @company fancy    2008-12-15
     47  */
     48 @ParentPackage("meta-package")
     49 @Results( {
     50         @Result(name = "home", type = ServletDispatcherResult.class, value = "/kjava/home.jsp"),
     51         @Result(name = "getStaffOrderList-home", type = ServletDispatcherResult.class, value = "/kjava/stafforder.home.jsp"),
     52         @Result(name = "getQueryOrderApply-input", type = ServletDispatcherResult.class, value = "/kjava/stafforder.query.input.jsp"),
     53         @Result(name = "getQueryOrderApply-success", type = ServletDispatcherResult.class, value = "/kjava/stafforder.query.success.jsp"),
     54         @Result(name = "getAddOrderApply-input", type = ServletDispatcherResult.class, value = "/kjava/stafforder.add.input.jsp"),
     55         @Result(name = "getAddOrderApply-success", type = ServletDispatcherResult.class, value = "/kjava/stafforder.add.success.jsp")        
     56         })        
     57 public class FileAction extends BaseKjavaAction {
     58 
     59     public String home(){
     60         return "home";        
     61     }
     62     
     63     public String getStaffOrderList(){
     64         return "getStaffOrderList-home";
     65     }
     66     
     67     /**
     68      * 把收到的數(shù)據(jù)轉(zhuǎn)換成字節(jié)數(shù)組
     69      * @param request
     70      * @return
     71      */
     72     private byte[] getRequestData(HttpServletRequest request) {
     73         try {
     74             BufferedInputStream in = new BufferedInputStream(request
     75                     .getInputStream());
     76             byte[] buffer = new byte[1024 * 1024 + 3]; // 請求內(nèi)容最大200K
     77             int pos = 0;
     78             int total = 0;
     79             // 獲取請求頭長度
     80             while (true) {
     81                 int n = in.read();
     82                 if (n == -1) {
     83                     break;
     84                 }
     85                 buffer[pos] = (byte) n;
     86                 ++pos;
     87                 ++total;
     88             }
     89             if (total > 0) {
     90                 byte[] data = new byte[total];
     91                 for (int i = 0; i < data.length; ++i) {
     92                     data[i] = buffer[i];
     93                 }
     94                 return data;
     95             } else {
     96                 return null;
     97             }
     98         } catch (Exception e) {
     99             //log.error("error occurs when fetching the request data!", e);
    100             System.out.println("error occurs when fetching the request data!" + e);
    101             return null;
    102         }
    103     }
    104     /**
    105      * 把收到的字節(jié)數(shù)組中的參數(shù)和圖片分開
    106      */
    107     public String execute() throws Exception {
    108         
    109         byte[] reqData = getRequestData(ServletActionContext.getRequest());
    110 
    111         String urlParameter = "";//url里的參數(shù)
    112         byte[] picData = null//圖片字節(jié)數(shù)組
    113         
    114         byte[] urlParameterData = null//字節(jié)數(shù)組形式的url參數(shù)
    115         byte[] mark = new byte[2]; //標(biāo)志位字節(jié)數(shù)組
    116         
    117         //把標(biāo)志位 “&#” 的字節(jié)數(shù)組位置找到,還原成字符串,以此分開url數(shù)組和圖片數(shù)組
    118         for (int i=0; i< reqData.length; i++){
    119             System.arraycopy(reqData, i, mark, 01);
    120             String word = new String(mark, "UTF-8");
    121             
    122             //問號出現(xiàn)的位置
    123             if (word.trim().equals("&")){
    124                 //再判斷后面是不是#號
    125                 System.arraycopy(reqData, i+1, mark, 01);
    126                 String wordNext = new String(mark, "UTF-8");
    127                 if (wordNext.trim().equals("#")){
    128                     //分開url數(shù)組和圖片數(shù)組
    129                     urlParameterData = new byte[i];
    130                     picData = new byte[reqData.length - (i+2)];
    131                     
    132                     System.arraycopy(reqData, 0, urlParameterData, 0, i);//url字節(jié)數(shù)組
    133                     System.arraycopy(reqData, (i+2), picData, 0, reqData.length - (i+2) );//圖片字節(jié)數(shù)組
    134                     
    135                     urlParameter = new String(urlParameterData, "UTF-8");
    136                     urlParameter = "&"+ urlParameter + "&";
    137                     //System.out.println(urlParameter);
    138                     break;    
    139                 }
    140             }
    141         }
    142         
    143         if (picData != null){
    144             File file = new File("E:\\cmaPic.png");
    145             FileOutputStream fos = new FileOutputStream(file);
    146             fos.write(picData);
    147             fos.flush();
    148             fos.close();
    149         }
    150         
    151         StaffOrderAction stafforder=new StaffOrderAction();
    152         stafforder.getAddOrderApply(urlParameter,picData);
    153         return "";
    154     }
    155 }
    156 

    posted on 2009-02-11 16:34 騎豬闖天下 閱讀(312) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲综合无码AV一区二区| 国产最新凸凹视频免费| 91麻豆精品国产自产在线观看亚洲| 亚洲欧美国产欧美色欲| 久久久久久国产a免费观看黄色大片 | 亚洲va中文字幕无码久久不卡 | 久久亚洲国产午夜精品理论片| 色爽黄1000部免费软件下载| 亚洲男人第一无码aⅴ网站| 永久免费观看黄网站| 国产AV无码专区亚洲AV手机麻豆| 成人免费夜片在线观看| 国产成人综合亚洲AV第一页 | 亚洲欧洲日产国码av系列天堂| 人禽伦免费交视频播放| 国产精品亚洲玖玖玖在线观看| GOGOGO高清免费看韩国| 亚洲av中文无码乱人伦在线咪咕| 桃子视频在线观看高清免费视频| 亚洲精品美女在线观看| 午夜时刻免费入口| 免费一区二区无码视频在线播放 | 亚洲熟妇无码久久精品| 免费三级毛片电影片| 国产精品亚洲AV三区| 久久精品国产亚洲5555| 18pao国产成视频永久免费| 99久久国产亚洲综合精品| 免费人妻无码不卡中文字幕18禁| 人妻仑乱A级毛片免费看| 亚洲AV日韩AV永久无码免下载 | 99re在线精品视频免费| 亚洲一区二区三区在线观看网站| 午夜亚洲福利在线老司机| a级毛片在线视频免费观看| 亚洲最新在线视频| 免费一级毛片不卡不收费| 一区二区免费视频| 亚洲av综合av一区二区三区| 亚洲va国产va天堂va久久| 成人午夜大片免费7777|