Discussion:
About_DownloadFile
(时间太久无法回复)
sparkdeng
2006-07-28 04:03:02 UTC
Permalink
各位先進:
小弟近日在研究ASP.NET
主因
因為想寫一段"檔案更新"程式
(功能像是Windows Update)
Client使用Window Form(VB.NET)
透過Web Services
可是發現一個大問題...

當架在OS XP時(我自已的開發端電腦)
My.Computer.Network.DownloadFile("http://172.30.20.10/WebServices/Downloads/abc.exe", "D:\a.exe")
不管在哪一台Client執行時,這個該死的"a.exe"
真的給我存在Server(我自已的開發端電腦)上的D:\a.exe。
而不是預期的存檔在Client PC D:\a.exe

當架在OS Win2003時(開發好的程式放在Server上)
My.Computer.Network.DownloadFile("http://172.30.20.10/WebServices/Downloads/abc.exe", "D:\a.exe")
給我出現Error message
"拒絕存取路徑'D:\a.exe'

很奇怪的是....
http://msdn2.microsoft.com/zh-tw/library/ack30t8y.aspx
這個範例...居然可以成功傳送到我的電腦....
可是我的就不行!
是要在IIS設定什麼嗎??
還是目錄要設定什麼??

不明白...到底差別在哪邊....
璉璉
2006-07-28 07:32:47 UTC
Permalink
?

­Y¬O·QÂ൹ client ºÝšÏ¥ÎªÌ¡AœÐ¥Î DownloadData ŪŠš Byte()
ŠA¥Î Response.BinaryWrite §â Byte() Â൹šÏ¥ÎªÌ¡C
µù¡GÀÉ®×¹L€j®É¡AœÐ¥ýŒÈŠsšì Server ºÝ¡AŠA¿é¥X¡AÁקK Server ºÝžê·œÀþ¶¡ RAM »ÝšD¹L€j¡C

Šb Win2k/XP ¹w³]žê®Æ§š¬O±ÂÅvµ¹ everyone ¡AŠb Win2003 «h€£¬O¡C
­Y¬O§Aªº asp.net ±Ä¥Î°ÎŠWÅçÃÒ¡AœÐ¥ÎÀÉ®×Á`ºÞ±N d:\ ±ÂÅvµ¹ Network Service žs²Õ¡C

Šb·sªº°Qœ×°Ï­èŠnŠ³œgÀÉ®×€Užüªº°Qœ×¡G
http://forums.microsoft.com/MSDN-CHT/ShowPost.aspx?PostID=585838&SiteID=14
©ó news:73208A8D-DD87-4AD5-AA43-881F8A10A3C7%40microsoft.com µoªí
ŠUŠì¥ý¶i¡G
€p§Ìªñ€éŠb¬ãšsASP.NET
¥DŠ]
(¥\¯à¹³¬OWindows Update)
ClientšÏ¥ÎWindow Form(VB.NET)
³z¹LWeb Services
·í¬[ŠbOS XP®É(§ÚŠÛ€wªº¶}µoºÝ¹qž£)
My.Computer.Network.DownloadFile("http://172.30.20.10/WebServices/Downloads/abc.exe", "D:\a.exe")
¯uªºµ¹§ÚŠsŠbServer(§ÚŠÛ€wªº¶}µoºÝ¹qž£)€WªºD:\a.exe¡C
ŠÓ€£¬O¹wŽÁªºŠsÀÉŠbClient PC D:\a.exe
·í¬[ŠbOS Win2003®É(¶}µoŠnªºµ{Š¡©ñŠbServer€W)
My.Computer.Network.DownloadFile("http://172.30.20.10/WebServices/Downloads/abc.exe", "D:\a.exe")
µ¹§Ú¥X²{Error message
"©ÚµŽŠsšúžô®|'D:\a.exe'
«Ü©_©Çªº¬O....
http://msdn2.microsoft.com/zh-tw/library/ack30t8y.aspx
³o­ÓœdšÒ...©~µM¥i¥HŠš¥\¶Ç°ešì§Úªº¹qž£....
¥i¬O§ÚªºŽN€£Šæ¡I
¬O­nŠbIIS³]©w€°»ò¶Ü??
ÁÙ¬O¥Ø¿ý­n³]©w€°»ò??
€£©ú¥Õ...šì©³®t§OŠb­þÃä....
--
­·¬ê¬ì§ÞÅçÃÒŠ³­­€œ¥q ASP.NET Web News Reader 0.2.2 UTF-8 Beta
ºô¯žŠa¹Ï http://tlcheng.twbbs.org/wwwmap.htm
¬y°ìšŸ¬x/°Ï°ì€ôžê·œ/®}ª@ºô/ªŽºÀ¹Ï/»y­µ³q°T €å³¹»Pµ{Š¡
Basic/Fortran/Windows API/.Net/»²§U»¡©úÀÉ ­ì©lœX¡B€å³¹»P°Qœ×
·L³nµ{Š¡³]­p·s°Qœ×°Ï MSDN §Þ³Nœ×ŸÂ¡Aºô€ÍŠ^ÂЫá§Y®É²°T¡B¹q€l¶l¥ó³qªŸ¡G
http://forums.microsoft.com/msdn-cht/default.aspx?siteid=14
--
ASPNET News Reader http://tlcheng.twbbs.org/News/Reader.aspx
RSS 2.0 http://tlcheng.twbbs.org/News/rss2.aspx?Action=List&Newsgroup=microsoft.public.tw.dotnet.framework.aspnet
sparkdeng
2006-07-28 10:19:01 UTC
Permalink
Dear 璉璉:
謝謝您的回覆。
我已經搞定了~~


"璉璉" 來函:
?
若是想轉給 client 端使用者,請用 DownloadData 讀成 Byte()
再用 Response.BinaryWrite 把 Byte() 轉給使用者。
註:檔案過大時,請先暫存到 Server 端,再輸出,避免 Server 端資源瞬間 RAM 需求過大。
在 Win2k/XP 預設資料夾是授權給 everyone ,在 Win2003 則不是。
若是你的 asp.net 採用匿名驗證,請用檔案總管將 d:\ 授權給 Network Service 群組。
在新的討論區剛好有篇檔案下載的討論:
http://forums.microsoft.com/MSDN-CHT/ShowPost.aspx?PostID=585838&SiteID=14
於 news:73208A8D-DD87-4AD5-AA43-881F8A10A3C7%40microsoft.com 發表
各位先進:
小弟近日在研究ASP.NET
主因
因為想寫一段"檔案更新"程式
(功能像是Windows Update)
Client使用Window Form(VB.NET)
透過Web Services
可是發現一個大問題...
當架在OS XP時(我自已的開發端電腦)
My.Computer.Network.DownloadFile("http://172.30.20.10/WebServices/Downloads/abc.exe", "D:\a.exe")
不管在哪一台Client執行時,這個該死的"a.exe"
真的給我存在Server(我自已的開發端電腦)上的D:\a.exe。
而不是預期的存檔在Client PC D:\a.exe
當架在OS Win2003時(開發好的程式放在Server上)
My.Computer.Network.DownloadFile("http://172.30.20.10/WebServices/Downloads/abc.exe", "D:\a.exe")
給我出現Error message
"拒絕存取路徑'D:\a.exe'
很奇怪的是....
http://msdn2.microsoft.com/zh-tw/library/ack30t8y.aspx
這個範例...居然可以成功傳送到我的電腦....
可是我的就不行!
是要在IIS設定什麼嗎??
還是目錄要設定什麼??
不明白...到底差別在哪邊....
--
風禹科技驗證有限公司 ASP.NET Web News Reader 0.2.2 UTF-8 Beta
網站地圖 http://tlcheng.twbbs.org/wwwmap.htm
流域防洪/區域水資源/徐昇網/玫瑰圖/語音通訊 文章與程式
Basic/Fortran/Windows API/.Net/輔助說明檔 原始碼、文章與討論
微軟程式設計新討論區 MSDN 技術論壇,網友回覆後即時簡訊、電子郵件通知:
http://forums.microsoft.com/msdn-cht/default.aspx?siteid=14
--
ASPNET News Reader http://tlcheng.twbbs.org/News/Reader.aspx
RSS 2.0 http://tlcheng.twbbs.org/News/rss2.aspx?Action=List&Newsgroup=microsoft.public.tw.dotnet.framework.aspnet
Loading...