有組件上傳方式請右鍵"FyUpload.sct"注冊,然后可以使用:
Server.CreateObject("Rimifon.Upload")
創建對象。
無組件上傳方式請使用
GetObject("scr創建對象,組件地址為硬盤絕對路徑,也可以使用http完整路徑。
==============================================
屬性和方法說明:
設置頁面字符編碼:Upload.Charset = "UTF-8" //默認為gb2312編碼。
文件大小限制:Upload.MaxSize = 1024 * 512 //設置上傳大小不超過 512 kb,參數為零時不限制上傳文件大小(默認為 0)。
文件類型限制:Upload.Filter = "rar|zip|txt|gif|jpg|bmp|htm|html|swf|mht"; //(默認值)設置允許上傳的文檔類型,不限制上傳文件類型則使用空值。
獲得上傳文件的客戶端路徑:Upload.Field.輸入框名稱.FilePath
獲得上傳文件的文件名稱:Upload.Field.輸入框名稱.SourceName
獲得上傳文件后保存的文件名:Upload.Field.輸入框名稱.FileName
獲得上傳文件的MimeType:Upload.Field.輸入框名稱.FileType
獲得上傳文件實際大小:Upload.Field.輸入框名稱.FileSize
獲得上傳文件的受限信息:Upload.Field.輸入框名稱.Message
獲得表單數據:Upload.Field.輸入框名稱.Value //如果是文件則返回文件的Unicode編碼內容
指定上傳緩沖區大小并讀取上傳數據:Upload.ReadForm(緩沖大小[bytes], 參數二) //默認為全部緩沖,推薦在200k以下(可解決2003不能上傳大文件的問題);提供參數二可為上傳生成進度條的application數據。
保存文件到指定目錄:Upload.SaveFile("保存目錄") //默認為當前目錄
==============================================
演示:http://www.fengyun.org/Test/NetDisk
普通演示代碼如下:
<%@language=javascript%><html><head>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312">
<title>風雲JS上傳組件</title><%
var Upload,Info,undefined;
if(Request.ServerVariables("Request_Method") == "POST")
{
//Upload = Server.CreateObject("Rimifon.Upload");
Upload = GetObject("script:http://www.zope.org/Members/Rimifon/FyUpload.sct#Upload");
Upload.MaxSize = 1024 * 512;
Upload.ReadForm(204800);
Upload.SaveFile(".");
var field = new Array;
field.push("允許上傳的文檔:" + (Upload.Filter?Upload.Filter:"所有文檔"));
field.push("單個文件最大值:" + (Upload.MaxSize?(Upload.MaxSize/1024/1024).toFixed(1)+" Mb":"不限文件大小"));
field.push("============================================================");
for(var x in Upload.Field)
{
if(Upload.Field[x].FilePath)
{
field.push(x+":" + (Upload.Field[x].Message?
Upload.Field[x].FilePath+"(" + Upload.Field[x].Message + ")":
"<a target=_blank href=" + Upload.Field[x].FileName + ">" +
Upload.Field[x].FilePath + "</a> (" + Upload.Field[x].FileSize + " bytes)"));
}
else
{
field.push(x+":"+Upload.Field[x].Value);
}
}
Upload.Dispose();
Upload = undefined;
Info = field.join("<br>");
}%></head><body>
<font color="red"><%=Info%></font>
<form method=post enctype="multipart/form-data">
field:<input name=field value=testString><br>
upFile1:<input name="upFile1" type="file"><br>
cnfield:<input name=cnfield value=一中文測試><br>
upFile2:<input name="upFile2" type="file"><br>
otherfield:<input name=otherfield value=dsihf83><br>
<input type="submit"></form></body></html>
請注意:下面的附件中,組件未必是最新的,最新組件的地址是: (文檔以utf-8編碼保存)
http://www.zope.org/Members/Rimifon/FyUpload.sct
新聞熱點
疑難解答