1、C#WinForm程序,從伺服器IIS上下載dll文件到本地,如何在沒有下載到本地之前就知道dll文件的版本號呢?
IIS上寫個web介面,用它去取dll的版本,winform讀這個介面的數據就行了。
2、c# winform下載。通過調用WCF服務請求服務端文件下載到本地,做了幾天了思路混亂,求大神指點,在線等...
通過wcf下載文件有很多條件,主要思路是WCF服務返回一個Stream實例,然後再winform一端讀取並保存,注意wcf的服務端在winform請求過程中不要將Stream對象關閉,其他就是一些關於傳輸的設置,比如文件較大、傳輸超時等,還有就是wcf定義的服務方法的參數不能有out參數,希望能幫助到你。
還不明白就baidu個例子看看就可以了
3、C#WinForm網路文件下載問題
沒有資源,那邊伺服器文件沒了……
4、C# winform 定時下載遠程伺服器的文件夾裡面當天修改過的文件。 高人指點。
這可以這樣,
遠程是ftp的,ftp協議支持讀取文件的修改時間,根據修改時間就可以分辨了。
遠程是web的,並且你的內容是任意內容(當然你要通過web下載有些擴展名的文件,可能要在web伺服器的設置里添加很多允許下載擴展名mime)那你需要一個目錄清單,假設你是asp.net,最保險就是自己寫一個,具體:首先初始化一份log類文件,裡面存著需要維護的文件和文件夾的當前初始信息,這些信息主要包括文件(夾)名,大小、修改時間、md5碼、是否還有子文件或目錄。再在全局文件Global.asax里建立一個線程,每隔一定時間調用方法掃描一次你需要維護的文件和文件夾,更新log文件,也可以作一個頁面當被訪問了再去核對當前需要維護的文件和文件夾與log文件的不同,再記錄新信息並且直接返回新log,這樣可以讓php這類沒有默認的全局的後台web語言一樣能行。當然這些事情也可以通過直接的exe程序,當然這對遠程伺服器的要求就更高了。
本地只要定時去得到這個log文件就可以根據它來選擇下載那些文件了
如果不能維護log,也不能取得修改時間,那你只能先把文件之一下載下來,算出md5然後與當前的本地的比對,按照結果來決定換不換成新伺服器上的文件,然後下一個。。。。
5、winform下載
FTPConnection ftpConn = new FTPConnection();
DataSet dsXml = new DataSet();
//dsXml.ReadXml(xPath);
dsXml = MD5Encrypt.DES.instance().DecryptXML2DS(xPath, 1);
//讀取ftp配置信息
ftpConn.UserName = dsXml.Tables["FtpSet"].Rows[0]["UserName"].ToString();
ftpConn.Password = dsXml.Tables["FtpSet"].Rows[0]["Password"].ToString();
ftpConn.ServerAddress = dsXml.Tables["FtpSet"].Rows[0]["ServerAddress"].ToString();
ftpConn.ServerPort = Convert.ToInt32(dsXml.Tables["FtpSet"].Rows[0]["ServerPort"].ToString());
ftpConn.TransferType = FTPTransferType.BINARY;
try
{
ftpConn.Connect();
ftpConn.ChangeWorkingDirectory(ftpPath);
FTPFile[] filelist = ftpConn.GetFileInfos(ftpPath);
foreach (FTPFile ftpfile in filelist)
{
if (ftpfile.Dir)
continue;
if (!Directory.Exists(sSaveFilePath))
Directory.CreateDirectory(sSaveFilePath);
ftpConn.DownloadFile(localfilename, ftpfile.Name);
}
}
catch (Exception ex)
{
SendLog(ex.ToString());
}
finally
{
try
{
if (ftpConn.IsConnected)
ftpConn.Close();
}
catch (Exception ex)
{
SendLog("關閉FTP連接異常:" + ex.ToString());
}
}
其中用到一個dll 在網上有的 可以自己去下載edtFTPnet.dll,稍微修改下,就可以用了
6、C#怎麼把文件上傳到伺服器,然後又怎麼下載。是winform,不是web。
1.首先如果是sockets連接:
需要client以及server端編程做客戶端和服務端
建立連接後,將文件版通過序列權化轉城memorystream/networkstream的二進制流傳輸,在服務端進行反序列化操作
2.如果使用ftp,很簡單,伺服器架設任意ftp伺服器,然後通過ftp命令put就可以,使用tcpclient類
3.伺服器上架設webservice,winform添加webservice引用上傳
7、C#如何實現下載文件保存到本地上面去
public void btnTemplate_Click(object sender, EventArgs e)
{
string strResult = string.Empty;
string strPath = Server.MapPath("~/uploadfile/");
string strFile = string.Format(@"{0}\{1}", strPath, "base.xls");
using (FileStream fs = new FileStream(strFile, FileMode.Open))
{
byte[] bytes = new byte[(int)fs.Length];
fs.Read(bytes, 0, bytes.Length);
fs.Close();
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode("base.xls", System.Text.Encoding.UTF8));
Response.BinaryWrite(bytes);
Response.Flush();
Response.End();
}
}
strPath你的模板存放路徑,改一下。絕對靠譜的,請採納吧- -
8、winform怎麼實現客戶端自動從伺服器下載文件列表
我之前也弄過類似的,有兩種思路,一種是架設FTP伺服器來實現,利用.NET平台下的net類很輕松就可以實現,還有一種就是編寫伺服器端,利用SOCKET技術實現,個人認為前者難度低一些
9、winform 從伺服器下載文件夾下的所有文件
前台頁面代碼
<a href="Download.aspx?d_id=<%# Eval("id")%>" target="_blank" style="cursor:pointer;">資料</a>
Download.aspx後台代碼
protected void Page_Load(object sender, EventArgs e)
{
if ( Request.QueryString["d_id"] != null && Request.QueryString["d_DowAddress"] != "")
{
//string title = System.Web.HttpContext.Current.Request.Url.Host; //獲得當前域名
string id = Request.QueryString["d_id"].ToString();
string path = Server.MapPath ("DownloadInfo//" + id);//資料下載名稱文件路徑
sBull.downLoad(path);//查詢下載資料
}
}