這個問題已經不是什么新鮮問題了,網上也有大把的教程,但大多數是授人以魚,而不授人以漁,經過辛苦的資料收集,思考,調試,整理,我基本上已經把這個問題從原理上搞清楚了,現在根據我自己的理解,在范例程序的基礎上,加以解釋,希望能對部分網友(比我還菜的:-))有所幫助。
請諸位大蝦能對其中的不正或不良這處予以指正。
程序中stream對象的用法上參考了“化境HTTP上傳程序 Version 2.0”在代碼,在此對稻香老農和梁無懼表示衷心的感謝和由衷的敬意。
先來分析一下,為后面的數據分析算法打點基礎,以下是我摘錄的一小段網頁中提交的二進制數據: -----------------------------7d31ec15102d0 Content-Disposition: form-data; name="txtTitle"
滿腦的想法 -----------------------------7d31ec15102d0 Content-Disposition: form-data; name="filImage"; filename="F:\material\木紋背景\pic016.jpg" Content-Type: image/pjpeg
? JFIF C !!E.'.EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE?" ? } !1AQa"q2亼?#B繃R佯$3br? 侼s歊J佦=ǜ珻,%??Xm 銓鼽?幮??驲湕胄滙C? 儗 g?咶? tS?B矠:u隠c g不t凄L琰h`啨0p g殲41?9'$筵奆]眬?膁?摍? 渦"?? -----------------------------7d31ec15102d0 Content-Disposition: form-data; name="btnUpload"
Upload -----------------------------7d31ec15102d0--
藍色的字符的內容我們應該熟悉吧,中間的亂碼就是上傳的文件的內容,其實我們要做的就是將這一堆數據進行分析,挑出對我們有用的數據保存下來就OK了。分析數據就是查找一些標志性的內容,如回車換行符,“----------”符號,用兩個指針確定兩個位置,然后提取數據,我的算法不知道好不好,本人的數據結構是學得很爛的,十分sorry。
以下是一個完事的應用,其中的類定義可以與入另一個文件,使用的時候只要用
<!--include file="LjUpload.cls"-->
命令包含進來就可以了。
LjUpload.asp:
<%@ Language=VBScript %> <% option explicit %>
<script language=vbscript runat=server>
private srmRequestData'adodb.stream對象,保存從form中提交來的所有數據
private adTypeBinary'adodb.stream對象的叁數:返回二進制數據 private adTypeText'adodb.stream對象的叁數:返回文本數據 private adModeRead'adodb.stream對象的叁數:對象可讀 private adModeWrite'adodb.stream對象的叁數:對象可寫 private adModeReadWrite'adodb.stream對象的叁數:對象可讀寫
class LjUpload'定義
主站蜘蛛池模板:
五家渠市|
富蕴县|
芦溪县|
安达市|
彰化县|
元氏县|
石台县|
松潘县|
南部县|
河南省|
林甸县|
瑞丽市|
铅山县|
翁牛特旗|
凌海市|
迁安市|
阳西县|
依兰县|
安龙县|
唐海县|
阿城市|
修水县|
洪湖市|
昌吉市|
庐江县|
内乡县|
福贡县|
福泉市|
泸州市|
石景山区|
乾安县|
林州市|
淮阳县|
明光市|
呼玛县|
青龙|
临夏市|
安新县|
涞源县|
隆安县|
滁州市|
|