設(shè)為首頁收藏本站Access中國

Office中國論壇/Access中國論壇

 找回密碼
 注冊(cè)

QQ登錄

只需一步,快速開始

12下一頁
返回列表 發(fā)新帖
查看: 6346|回復(fù): 10
打印 上一主題 下一主題

如何在ACCESS中通過代碼將本地文件上傳至服務(wù)器指定的FTP地址

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2004-12-1 06:01:00 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
請(qǐng)問高手,如何在ACCESS中通過代碼將本地文件上傳至服務(wù)器指定的FTP地址
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 分享淘帖 訂閱訂閱
2#
 樓主| 發(fā)表于 2004-12-1 20:46:00 | 只看該作者
是用api函數(shù)copyfile嗎?access自帶得filecopy好像不支持網(wǎng)絡(luò)路徑

點(diǎn)擊這里給我發(fā)消息

3#
發(fā)表于 2004-12-2 02:35:00 | 只看該作者
需要使用Internet控件.
4#
 樓主| 發(fā)表于 2004-12-2 04:21:00 | 只看該作者
哪一個(gè)?請(qǐng)告知
5#
 樓主| 發(fā)表于 2004-12-7 02:40:00 | 只看該作者
這里的人氣好淡,回復(fù)的人少,看得人也少,想當(dāng)初好熱鬧,唉,我的這個(gè)問題用Internet Transfer的ACTIVEx控件應(yīng)該是有效的,但我不會(huì)用,只能下載,不能上傳
6#
 樓主| 發(fā)表于 2004-12-8 00:30:00 | 只看該作者
不會(huì)再來
7#
 樓主| 發(fā)表于 2004-12-16 22:59:00 | 只看該作者
不毛之地
8#
發(fā)表于 2005-1-3 05:28:00 | 只看該作者
試一試 ADODB.Stream ? 是否可行沒有驗(yàn)證過
9#
發(fā)表于 2005-6-5 18:25:00 | 只看該作者
我也想知道!
10#
發(fā)表于 2005-6-16 21:04:00 | 只看該作者
  基本原理是:采用ADO Stream對(duì)象的BinaryRead方法將FORM中的所有數(shù)據(jù)讀出,從中截取出所需的文件數(shù)據(jù),以二進(jìn)制文件方式存盤。  下面是上傳文件頁面的一個(gè)例子(upload.htm):<html>

<body>

<form name="Upload" Method="ost" Enctype="multipart/form-data" Action="Upload.asp">

<input type="file" name="FileName">

<INPUT TYPE="Submit" VALUE="Upload"></TD>

</form>

</body>

</html>   程序中使用了文件對(duì)象,這樣在Upload.asp中采用BinaryRead方法讀來的原始數(shù)據(jù)就不僅僅是選擇的文件本身的數(shù)據(jù),還包含該文件在用戶硬盤上的路徑、類型、提交頁面的表單域名等相關(guān)信息的描述,這樣我們就需從中提取出文件的具體內(nèi)容。根據(jù)分析,數(shù)據(jù)的頭部信息與數(shù)據(jù)的分界線是兩對(duì)回車換行符,尾部也有分隔信息,我們可以采用類似以下的方法獲取文件數(shù)據(jù)。Dim FormData.FormSize,DataStart,CLStr,DivStr

FormSize=Request.TotalBytes

FormData=Request.BinaryRead(FormSize)

CLStr=ChrB(13)&ChrB(10)

DataStart=InStrB(FormData.CLStr&CLStr)+4

'4是兩對(duì)回車換行符的長度

DivStr=LeftB(FormData,InStrB(FormData,CLStr)-1)

DataSize=InStrB(DataStart+1,FormData,DivStr)-DataStart-2

FormData=MidB(FormData,DataStart,DataSize)

FormData就是文件的內(nèi)容了。   中間根據(jù)需要,可進(jìn)行相應(yīng)的處理。最后的工作就是將文件保存了。保存的方法可以有兩種:一種是利用VB或VC之類程序中的二進(jìn)制文件操作方法,在工程中加入適當(dāng)?shù)念愋蛶欤罱K編譯成DLL文件,使用時(shí)再將該DLL文件注冊(cè)就可以了。文件存貯程序如下:Public Function SaveFile(Pathname As String) As String

    Dim objContext As ObjectContext

    Dim objRequest As Request

 Set objContext=GetObjectContext()

    Set objRequest=objContext("Request")

    '以下的一段代碼是進(jìn)行文件存貯的有關(guān)操作

 Dim FormData() As Byte,CLStr,DivStr

    Dim DataStart As Long,DataSize As Long

    DataSize=objRequest.TotalBytes

    Redim FormData(DataSize-1)

    FormData=objRequest.BinaryRead(DataSize)

    CLStr=ChrB(13) & ChrB(10)

    DataStart=InStrB(FormData,CLStr & CLStr)+4

    DivStr=LeftB(FormData,InStrB(FormData,CLStr)-1)

    DataSize=InStrB(DataStart+1,FormData,DivStr)-DataStart-2

    FormData=MidB(FormData,DataStart,DataSize)

    '創(chuàng)建一個(gè)二進(jìn)制文件并將FormData寫入其中

    Open Pathname For Binary As 1

    Put #1,,FormData

    Close #1

    SaveFile="OK!"

   End Function   此方法是利用ADO STREAM中提供的二進(jìn)制文件操作方法來完成,保存文件的語句是: StreamOBJ.SaveToFile (fileName,2)。在這種操作中,我們可以將有關(guān)的操作存放在一個(gè)類文件中,在應(yīng)用時(shí),直接將該類文件包含在ASP程序中就可以了。具體處理方法,請(qǐng)參閱有關(guān)介紹。
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則

QQ|站長郵箱|小黑屋|手機(jī)版|Office中國/Access中國 ( 粵ICP備10043721號(hào)-1 )  

GMT+8, 2024-10-23 10:23 , Processed in 0.099293 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表