C# 中WinForm 應用程式實現遠端檔案管理(上傳、下載)的種種問題——遠端伺服器返回錯誤
C# 中WinForm 應用程式實現遠端檔案管理(上傳、下載)的種種問題
WinForm可以通過C#語言提供的WebClient類的UploadFile和DownLoadFile函式實現檔案的上傳和下載功能,但是這也讓我嘗試到了使用這個函式時的辛酸,搞了整整一天才成功。而且在使用的環境是win7 + iis7.0,iis7.0和iis6.0相比在,在配置操作上有很大的區別。
1 檔案下載,檔案下載功能很easy,一個函式,也沒有出現任何問題,估計最大的問題就是伺服器檔案路徑找不到,產生的404錯誤,未找到。
WebClient myClient = new WebClient();
String localfilePath = dialog1.FileName;
myClient. DownloadFile (“http://localhost:2368/upload/fileName”, localfilePath);
2 檔案上傳功能:
這個功能整整的折磨了我一天,知道晚上9點中才基本搞定。也把種種問題遇到了。
WebClient client = new WebClient ();
// Add a user agent header in case the requested URI contains a query.
client.Headers.Add ("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
client.UploadFile(localfile,”PUT”,ServerPath);
2.1 遠端伺服器返回錯誤: (401) 新增身份驗證:
需要在站點開啟身份驗證的許可權(允許匿名訪問,windows 身份驗證),在iis7.0內容檢視上雙擊身份驗證、開啟匿名身份驗證和windows身份驗證。
2.2 遠端伺服器返回錯誤 (403) 已禁止
解決方法:iis虛擬目錄的寫入許可權和uploadfile資料夾給iis_user使用者開寫入許可權。
進入網站的虛擬路徑目錄,虛擬目錄屬性給寫入許可權;
2.3 遠端伺服器返回錯誤: (404) 未找到
分析與解決方法:一般是由於UploadFile()函式中中“PUT”、“POST”關鍵字,要選擇使用“PUT”關鍵字。同時要新增iis的處理程式對映。
WebClient myClient = new WebClient();
myClient.UploadFile(Serverurl,"PUT",localfilePath);
//UploadFile函式中如果關鍵字POST,必須改用PUT。同時要配置IIS的功能檢視中的處理程式對映,配置過程如下:開始-執行—inetmgr命令,開啟ii7,左側選擇虛擬目錄,右側選擇功能檢視—處理程式對映-雙擊進入,選擇ExtensionlessUrlHandler-Integrated-4.0雙擊後,點選請求限制-謂詞面板-,下列謂詞之一:GET,HEAD,POST,DEBUG,PUT,DELETE。預設沒有PUT,DELETE,新增上。
2.4“遠端伺服器返回錯誤: (405) 不允許的方法
解決方法:把網站釋出到iis上,設定iis的寫入許可權和上傳資料夾的寫入許可權。不知道為什麼在本地除錯都是報這種錯誤,把網站釋出到iis上,再通過iis訪問就可以通過了,邪乎~。
2.5“遠端伺服器返回錯誤: (500) 內部伺服器錯誤
分析與解決方法:可能是client資訊頭需要設定,
WebClient client = new WebClient ();
// Add a user agent header in case the requested URI contains a query.
client.Headers.Add ("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
2.6遠端伺服器返回錯誤: (501) 未實現
webdav沒有啟動,ii6中webdav作為iis的輔助服務,預設不開啟,可以自己開啟。
或win7中WebClient服務沒有開啟(我的電腦-管理-服務中開啟此服務),同時在iis7.0 中配置webdav服務,新增授權規則:allow access to ( all content); Allow access to this content to (All users) ;permission (Read, Source,Write)
遇到的問題基本就這些,具體為什麼會出現這種錯誤,再次不介紹,可以去網上搜搜。
相關推薦
C# 中WinForm 應用程式實現遠端檔案管理(上傳、下載)的種種問題——遠端伺服器返回錯誤
C# 中WinForm 應用程式實現遠端檔案管理(上傳、下載)的種種問題 WinForm可以通過C#語言提供的WebClient類的UploadFile和DownLoadFile函式實現檔案的上傳和下載功能,但是這也讓我嘗試到了使用這個函式時的辛酸,搞了整整一天才
springboot 整合 gridfs 、webUploader實現大檔案分塊上傳、斷點續傳、秒傳
主要的pom.xml: <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId>
Hadoop學習筆記一(通過Java API 操作HDFS,檔案上傳、下載)
package demo.hdfs; import java.util.Arrays; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.BlockLocation; impor
libcurl庫的使用支援http、https、ftp(上傳、下載、遠端目錄列表獲取)
這裡是libcurl庫的一個簡單封裝,支援跨平臺。宣告: 本文章可以轉載,但必須註明源部落格地址。共享的demo和curltools類不允許個人上傳網路賺取積分和現金,如有發現必定追究責任,請慎重。直接下載我上傳的資源把curl資料夾解壓到工程程式碼目錄下匯入curlt
C#winform應用程式介面顯示在分螢幕上
最近碰到一個開發專案,該專案需要兩塊顯示器(如下圖所示),主螢幕用於顯示網頁,分螢幕用於顯示客戶端介面。該專案用到的客戶端是用C# winform編寫的。拋開客戶端處理的業務邏輯不談,主要談談在winform中如何讓介面出現在第二塊螢幕的中間。 Screen類 C#提供的Screen類可
c# 中 獲取應用程式的路徑
示例:新建了一個windows窗體應用程式WindowsFormsApplication4,儲存在F:\Visual Studio 2008\Projects,啟動程式在F:\VisualStudio2008\Projects\WindowsFormsAppl
C#實現FTP檔案的上傳、下載功能、新建目錄以及檔案的刪除
轉載至:https://www.cnblogs.com/zhenzaizai/p/7434669.html using System; using System.Collections.Generic;
egg-ueditor,基於egg的UEditor百度編輯器後端實現,支援圖片/檔案上傳、列表及圖片遠端抓取
egg-ueditor 基於egg的UEditor百度編輯器後端實現,支援圖片/檔案上傳、列表及圖片遠端抓取 原始碼:https://github.com/inmyjs/egg-ueditor 安裝 npm install egg-ueditor --save 使用方
java 中 FtpClient 實現 FTP 檔案上傳、下載
package ftp; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileWrit
java使用Jsch實現遠端操作linux伺服器進行檔案上傳、下載,刪除和顯示目錄資訊
1 package com.fline.aic.utils; 2 3 import java.io.BufferedReader; 4 import java.io.File; 5 import java.io.FileInputStream; 6 import jav
Java實現視訊網站的視訊上傳、視訊轉碼、視訊關鍵幀抽圖, 及視訊播放功能 視訊網站中提供的線上視訊播放功能,播放的都是FLV格式的檔案,它是Flash動畫檔案,可通過Flash製作的播放器來播
package com.webapp.service; import java.io.File; import java.io.IOException; import java.io.PrintWriter; import java.util.List; import javax.servlet.Serv
Java實現遠端HDFS的檔案操作(新建、上傳、下載、刪除)
import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;public class
FastDFS:Java客戶都實現檔案的上傳、下載、修改、刪除
客戶端版本:fastdfs_client_v1.24.jar 配置檔案 connect_timeout = 200 network_timeout = 3000 charset = UTF-8 http.tracker_http_port = 8080 http.anti_steal
springcloud中feign檔案上傳、下載
檔案上傳、下載也是實際專案中會遇到的場景,本篇我們介紹下springcloud中如何使用feign進行檔案上傳與下載 。 還是使用feign 進行http的呼叫。 一、Feign檔案上傳 服務提供方java程式碼: /** * 檔案上傳 * @param fil
Java 實現ftp 檔案上傳、下載和刪除
本文利用apache ftp工具實現檔案的上傳下載和刪除。具體如下: 1、下載相應的jar包 commons-net-1.4.1.jar 2、實現程式碼如下: public class FtpUtils { //ftp伺服器地址
微信小程式實現快遞查詢功能(介面傳值、JSON資料請求和解析、radio-group的使用...)
執行效果: 請求資料之前需要首先在小程式平臺設定伺服器域名 第一個介面的實現:介面傳值、radio-group的使用 first.wxml <!--first.wxml--&g
git:上傳、下載、新增、刪除檔案到遠端倉庫
一、下載倉庫檔案: 1、設定你要從哪個倉庫上傳/下載檔案 git remote add origin [email protected]:ssh159/ssh159.github.io git remote -v :檢視當前的倉庫地址! 2、把遠端倉庫的檔案下載到
Java實現帶表單引數的檔案上傳、下載和檔案打包下載
準備工作 知識準備 SpringBoot Maven Spring Data JPA 工具準備 IDE:IDEA 說明 在此專案中, 我將檔案上傳的一些引數(例如上傳路徑、下載路徑、檔名等)儲存在資料庫當中,這樣更加靈活。當專案部署後,只需要更改資料庫中的資
YII中Ueditor富文字編輯器檔案和圖片上傳的配置
將Ueditor整合到YII框架中後,參照editor_config.js中的toolbars中的內容,更改options中標籤可以給編輯器新增想要的功能: 因此要想新增檔案和圖片上傳功能,應該加入以下兩個標籤: 文字編輯器中便出現了對應的兩個選項: 但是點選上傳圖片按
Mac連線遠端伺服器(Linux)以及檔案上傳、下載命令
在windows上,用xshell+xftp就可以很方便的操作遠端linux伺服器了。 而這2個軟體是沒有mac版的,所以在macOS下,是怎樣實現對遠端linux伺服器的操作的呢? 使用ssh連線遠端主機 ssh [email protected] 使用