日期:2014-05-18 浏览次数:20859 次
using System; using System.Data; using System.Configuration; using System.Linq; using System.Web; using System.Xml.Linq; using System.Windows.Forms; using System.IO; using System.Net; public class UploadInfo { public static bool UploadFile(string localFilePath, string serverFolder, bool reName) { string fileNameExt, newFileName, uriString; if (reName) { fileNameExt = localFilePath.Substring(localFilePath.LastIndexOf(".") + 1); newFileName = DateTime.Now.ToString("yyMMddhhmmss") + fileNameExt; } else { newFileName = localFilePath.Substring(localFilePath.LastIndexOf("\\") + 1); } if (!serverFolder.EndsWith("/") && !serverFolder.EndsWith("\\")) { serverFolder = serverFolder + "/"; } uriString = serverFolder + newFileName; //服务器保存路径 /**/ /// 创建WebClient实例 WebClient myWebClient = new WebClient(); myWebClient.Credentials = CredentialCache.DefaultCredentials; // 要上传的文件 FileStream fs = new FileStream(newFileName, FileMode.OpenOrCreate, FileAccess.ReadWrite); //FileStream fs = new FileStream(newFileName, FileMode.Open, FileAccess.Read); BinaryReader r = new BinaryReader(fs); try { //使用UploadFile方法可以用下面的格式 //myWebClient.UploadFile(uriString,"PUT",localFilePath); byte[] postArray = r.ReadBytes((int)fs.Length); Stream postStream = myWebClient.OpenWrite(uriString, "PUT"); if (postStream.CanWrite) { postStream.Write(postArray, 0, postArray.Length); } else { MessageBox.Show("文件目前不可写!"); } postStream.Close(); } catch { //MessageBox.Show("文件上传失败,请稍候重试~"); return false; } return true; } /**/ /// <summary> /// 下载服务器文件至客户端 /// </summary> /// <param name="uri">被下载的文件地址</param> /// <param name="savePath">另存放的目录</param> public static bool Download(string uri, string savePath) { string fileName; //被下载的文件名 if (uri.IndexOf("\\") > -1) { fileName = uri.Substring(uri.LastIndexOf("\\") + 1); } else { fileName = uri.Substring(uri.LastIndexOf("/") + 1); } if (!savePath.EndsWith("/") && !savePath.EndsWith("\\")) { savePath = savePath + "/"; } savePath += fileName; //另存为的绝对路径+文件名 WebClient client = new WebClient(); try { client.DownloadFile(uri, savePath); } catch { return false; } return true; } }
Boolean flag = UploadInfo.UploadFile(textBox1.Text, "/Uploads/", false); if (flag) { MessageBox.Show("上传成功!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information); textBox1.Text = ""; } else { MessageBox.Show("文件上传失败!", "警告!", MessageBoxButtons.OK, MessageBoxIcon.Error); }