国内精品在线视频,亚洲不卡一区二区三区,中文字幕亚洲二区http://www.aygfsteel.com/mstar/category/21731.html搞軟件開發(fā)就像被強(qiáng)奸,如果不能反抗,就享受它吧!zh-cnMon, 21 May 2007 06:03:27 GMTMon, 21 May 2007 06:03:27 GMT60關(guān)于手機(jī)上傳圖片遇到的問題http://www.aygfsteel.com/mstar/archive/2007/05/18/118371.html黑靈黑靈Fri, 18 May 2007 07:08:00 GMThttp://www.aygfsteel.com/mstar/archive/2007/05/18/118371.htmlhttp://www.aygfsteel.com/mstar/comments/118371.htmlhttp://www.aygfsteel.com/mstar/archive/2007/05/18/118371.html#Feedback0http://www.aygfsteel.com/mstar/comments/commentRss/118371.htmlhttp://www.aygfsteel.com/mstar/services/trackbacks/118371.htmlspring hibernate
  1. 項(xiàng)目里面既有wml(WAP 1.x)又有xhtml(WAP 2.0)所以contenType一定要寫成這個(gè)樣子:
    <property name="contentType">
    ???? <value>application/vnd.wap.xhtml+xml; charset=UTF-8</value>
    ?</property>
    如果只有wml可以寫成application/vnd.wap
    ko.cn (空中網(wǎng))是???? text/vnd.wap.wml;charset=UTF-8
    wap.baidu.com ? ?? wap版: text/vnd.wap.wml;charset=UTF-8
    ??????????????????????????? xhtml版:application/xhtml+xml
    wap.pdx.cn(萬(wàn)蝶網(wǎng)) text/vnd.wap.wml;charset=UTF-8


  2. 不知道為什么一定要加charset=UTF-8 否則瀏覽器會(huì)把頁(yè)面當(dāng)成是一個(gè)文件,一訪問就問你要不要下載,其實(shí)我們項(xiàng)目里還有PC版的內(nèi)容 所以是在每個(gè)手機(jī)版的action中指定contentType
    <action?name="login" class="。。。。。.LoginAction"?method="login">
    ????
    <result?name="success">
    ?????????
    <param?name="location">/pages/wap/user_info.ftl</param>
    ?????????
    <param?name="contentType">
    ?????????????? application/vnd.wap.xhtml+xml;?charset=UTF-8
    ?????????
    </param>
    ?????
    </result>
    ?????
    <result?name="input">
    ????????????????。。。。。
    ??????
    </result>
    </action>

  3. 目前WAP 1.X還只能通過(guò)彩信業(yè)務(wù)上傳圖片
  4. WAP2.0(xthml)中使用<input type="file">上傳文件必須指定enctype="multipart/form-data" method="post"
    使用multipart/form-data模式時(shí),HTTPRequest的內(nèi)容不是KEY:VALUE的格式而是被用分隔符(Bandary)分成多個(gè)部分的數(shù)據(jù)流,bandary由瀏覽器生成,有的是一組復(fù)雜的隨機(jī)數(shù)為的是與真正的數(shù)據(jù)區(qū)分開
  5. 通過(guò)<input type="file">上傳時(shí)服務(wù)器總是報(bào)文件為空,但是文件名等信息還是在的
    于是將手機(jī)上傳的request和PC上傳的request打印出來(lái)進(jìn)行比較
    做Filter攔截request
    InputStream?is?=?request.getInputStream();
    FileOutputStream?fs?=?new?FileOutputStream("c:/out.text");
    ??? byte[]?buffer?=?new?byte[1024];
    ??? int?byteread?=?0;
    ??? while?((byteread?=?is.read(buffer))?!=?-1)?{
    ??????? fs.write(buffer,?0,?byteread);
    ??? }

    手機(jī)版上傳的request
--******_EMBIDER_MULTIPART_BOUNDARY_******
Content-Disposition:?form-data;?name="struts.token.name";

struts.token
--******_EMBIDER_MULTIPART_BOUNDARY_******
Content-Disposition:?form-data;?name="struts.token";

Q0DRQ8WNNX164DOMQQUPGQ0H4S01KS4W
--******_EMBIDER_MULTIPART_BOUNDARY_******
Content-Disposition:?form-data;?name="picture.name";

kmtp
--******_EMBIDER_MULTIPART_BOUNDARY_******
Content-Disposition:?form-data;?name="categoryId";

689
--******_EMBIDER_MULTIPART_BOUNDARY_******
Content-Disposition:?form-data;?name="photo";?filename="wps://FLASH/pht/gen/SB.jpg.jpg"
Content-Type:?image/jpeg


--******_EMBIDER_MULTIPART_BOUNDARY_******
Content-Disposition:?form-data;?name="picture.description";


--******_EMBIDER_MULTIPART_BOUNDARY_******--
PC上傳的request
------------oLFSA1p2rcCZQCkW4ECi1x
Content-Disposition:?form-data;?name="struts.token.name"

struts.token
------------oLFSA1p2rcCZQCkW4ECi1x
Content-Disposition:?form-data;?name="struts.token"

73ZFOP68ALP9CNKDIDBK2AG9HLX86K0R
------------oLFSA1p2rcCZQCkW4ECi1x
Content-Disposition:?form-data;?name="picture.name"

from?pc
------------oLFSA1p2rcCZQCkW4ECi1x
Content-Disposition:?form-data;?name="categoryId"

689
------------oLFSA1p2rcCZQCkW4ECi1x
Content-Disposition:?form-data;?name="photo";?filename="Skypahontas.png"
Content-Type:?image/png

塒NG

??
IHDR???`???`???鈽w8???sBIT|d???????pHYs?? ?? 逸~???%tEXtSoftware?Macromedia?Fireworks?MX?2004噕???tEXtCreation?Time?11/7/05壣唒??-IDATx滍統(tǒng)?Wy?9繚譯綮?砘-[迧dY?^€伉?醊H笜礞^????BH竃HX!,I|????0?a駟
偏l????賈,蚳泒闄^渟?Y秄$?銩<5]]S誡烑=飝消?諾??0??馃K,?嘣礩鐢}爺県 ≌hO8攍?@揌爥?-鼏玝悕.S.炻Z塉@T褫6\?€8﹞?≌?馪?sQ榀~tru3棿溋籛q綷娏"k€Z1X颽b蟔?'??

慮司奬菦q??8?8
X番殘塜鐕lj喭])赱欼$?9諚&;窄綫~?x!9鶹燂9c?︸f/?鋤S楆?{$槤j鵒E纜錢諘?鱐?娠D?M?yI=腆?|??詭S|兜某????IEND瓸`
------------oLFSA1p2rcCZQCkW4ECi1x
Content-Disposition:?form-data;?name="picture.description"


------------oLFSA1p2rcCZQCkW4ECi1x--
發(fā)現(xiàn)手機(jī)根本就沒有把圖片內(nèi)容上傳。我們測(cè)試用的手機(jī)是MOTO KRCR,而且在wap.pdx.cn wap.baidu.com上效果相同。
又找了一部Nokia NXX在上面安裝Opera,結(jié)果不能生成bandary直接被reject掉
SonyEricsson可以把圖片內(nèi)容傳上來(lái)但是編碼又不對(duì)。。。。

不知道是手機(jī)的問題 還是我們的程序有問題。
感覺現(xiàn)在手機(jī)上的瀏覽器還比較混亂,缺少統(tǒng)一的標(biāo)準(zhǔn)或者沒有人來(lái)支持標(biāo)準(zhǔn)。


黑靈 2007-05-18 15:08 發(fā)表評(píng)論
]]>
主站蜘蛛池模板: 三明市| 金塔县| 镇江市| 增城市| 丰顺县| 桐乡市| 图们市| 高阳县| 宁乡县| 唐山市| 临朐县| 宁德市| 乌兰浩特市| 冀州市| 东兰县| 九龙城区| 珲春市| 双城市| 左云县| 博乐市| 武功县| 华安县| 瓦房店市| 札达县| 天门市| 敖汉旗| 东乡族自治县| 江北区| 满城县| 黑山县| 丰都县| 锡林郭勒盟| 江门市| 启东市| 康定县| 海原县| 昆山市| 徐州市| 浮梁县| 黎川县| 于都县|