使用程序來利用網頁上傳檔案的問題!(200分)

  • 主题发起人 主题发起人 jiichen
  • 开始时间 开始时间
J

jiichen

Unregistered / Unconfirmed
GUEST, unregistred user!
我想使用程序來上傳檔案,如 Geocities.com 有支援網頁上傳的功能,

但目前問題來了,HTML 語法的表現
<input type="file" name="ulfile" size="25">
<input type="file" name="ulfile" size="25">

對應介面為 IHtmlInputFileElement

var
iFile:IhtmlInputFileElement;

begin
....

iFile.value:=Local_File_path_name; // 問題在此行

....
end;

問題是:當我指定給 iFile.Value 時,沒有反應!
一般來說,像 type="button" 或 type="text" 都會即時反應,
但不知為何 type="file" 時,一動也不動,請問有哪裡需再設定的嗎?

 
還沒人回答嗎?


剛剛又試了使用 SendKeys 的方式來直接填入檔案路徑,但是
發現路徑不能使用中文字,但是按鈕方式可以成功,不知是哪裡的
問題。
 
Sorry !我搞錯啦!

是由於 SendKeys 無法使用中文字所造成的異象,
改用剪貼簿後便正常了,不過,還是得在焦點作業,
而無法背景作業,所以,有誰可以解決
IHtmlInputFileElement 的請 Post 上來吧!
 
經由 WebBrowser eGroup 的同好回應說:
IHtmlInputFileElement 並無法直接賦予其值,
是因為考量到安全性的關係...。

 
IE安全性考虑,如果能直接给File标签赋值的话,那谁还敢浏览网页。
解决办法最好是自己做一个客户端控件该控件可上传指定文件(不用用户自己选择),只要文件到服务器端,怎么处理都行了。
 
是想適用大部分的網站,所以利用 WebBrowser ,
因為大部分網站會賦予一些特別的值及 cookie(&session cookie),所以
自己做一個客戶端控件會遭遇困難。


目前還是採用剪貼簿來做~並自動切換焦點,保存剪貼簿的值~
盡量以不影響用戶作業為主,但是我只會保存文字方面的剪貼簿,
有人有方法可保存其他方面的嗎?



 
jiichen:你好
我在論壇上看到你提過一個關於richedit與unicode的問題。不知你有沒有解決
如果解決了的話可不可以幫我一下,200大分送上。
內容是:
请问 UniCode 的表现方式?

目前使用的系统为繁体 Windows 2000 ,其支援 UniCode ,
像记事本或 WordPad 可在上面同时存在繁体字及简体字,
而我所使用的字型为细明体。
//----------------------------------------------
问题一为:为何它可同时表现出两种不同的字型,而 Delphi
中的 RichEdit 却只支援繁体字型,遇到简体字型便出现 '?'
来表示!
“我只知道 UniCode 是一套可支援多国语系的特殊
编码,根据编码可容纳 65535 的字,虽然我可读取 UniCode
的档案,读入时在将其转码成繁体字,但遇见内含简体字的话,
便是乱码一堆。:( 转码方法为利用 WideCharLenToString 来转码,这里又延伸出一个
问题,想请教使用简体中文 Windows 2000 的高手.”
//----------------------------------------------

我現在也有這樣的問題,不同的是我用clipboard.astext取回剪貼板上的文字
但是如果是從簡體網頁上復制的文字的話就會出現“???中國人??”這樣的
亂字碼,我該如何解決呢?我用的是繁體2000.我在系統論壇發了貼子,麻煩你
幫我看看。分數好商量,不夠還可再加
 
对于Unicode字符串,不能与Delphi中的WideString或WideChar划上等号,
在Window 2000 中,整个Unicode的字符串处理被COM化了,在COM中所使用
的Unicode字符串被称之为BSTR类型,其数据结构MS并没有完全公开。它的
内部有字符的编码信息,要同屏显示不同字符集的字符,最简单的办法是
使用UTF-8来对字符串编码并处理,Delphi中你可以使用JEDI Code Library (JCL)
的控件包来操纵它。JCL的控件包是免费的。请去JEDI的主站下载它。
好象是http://www.delphi-jedi.org/
 
不是很明白,IhtmlInputFileElement是什么东东阿
 
to 茶壶 兄:
我是使用 CF_UNICODETEXT 的格式來保存剪貼簿資料,可以成功,不過顯示方面
還是無法像 NotePad 一樣顯示出正確字來。不知 NotePad 是如何秀字的,Delphi 有
這種顯示控件嗎?


to 鱼片干子 兄:
IhtmlInputFileElement 相當於網頁上 <input type="file"> 。
一般用於 Web-Mail 的附件(attach)或是免費空間的瀏覽器上傳。
 
我不是很清楚Notepad显示原理,但想来也是在unicode上下文章。
Delphi中可以编辑Unicode的东东,我记得只有个mwEdit。其他的不清楚了。
 
看來我問了一個不可能的任務,呵呵,分紅囉!
 
多人接受答案了。
 
后退
顶部