删除服务端文件

Posted qiu18359243869

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了删除服务端文件相关的知识,希望对你有一定的参考价值。

今天在winform上需要上传,删除服务器上的文件,网上找了下上传是很多,可删除没有找到答案,,最后只能拿个土办法实现了,这里是用ashx文件来处理
上传:
B/S
 
 public void ProcessRequest(HttpContext context)
       
            foreach (string fileKey in context.Request.Files)
           
                try
               
                    HttpPostedFile file = context.Request.Files[fileKey];
                    string oldFileName = file.FileName; //原文件名  xxx.jpg
                    int extenIndex = oldFileName.LastIndexOf(".");
                    string getExtent = oldFileName.Substring(extenIndex);//文件扩展名  .jpg
                    string fileSize = UploadCommon.getFileSize(file.ContentLength);  //获取文件大小 
                    string newFileName = DateTime.Now.ToString("yyyyMMddHHmmssms") + (new Random()).Next(0, 9) + getExtent;
                    string path = "/AffixFiles/sw_Products/";
                    if (!Directory.Exists(context.Server.MapPath(path)))
                   
                        Directory.CreateDirectory(context.Server.MapPath(path));
                   
                    string filePath = Path.Combine(path, newFileName);//文件相对路径
                    file.SaveAs(context.Server.MapPath(filePath));
                    string json = "\"status\":\"success\",\"oldFileName\":\"" + oldFileName + "\",\"fileSize\":\"" + fileSize + "\",\"filePath\":\"" + filePath + "\",\"fileType\":\"" + getExtent + "\"";
                    context.Response.Write(json);
               
                catch
               
                    string json = "\"status\":\"error\",\"oldFileName\":\"" + null + "\",\"fileSize\":\"" + null + "\",\"filePath\":\"" + null + "\",\"fileType\":\"" + null + "\"";
                    context.Response.Write(json);
               
                context.Response.End();
           
       
C/S
 
private void 上传_Click(object sender, EventArgs e)
       
            System.Net.WebClient myWebClient = new System.Net.WebClient();
            byte[] b = myWebClient.UploadFile("http://190.160.10.13:8088/ClientUpload/ClientUploadTools.ashx",
                "POST", "C:\\1351040562_Download.png");
        
           string returnJson = Encoding.Default.GetString(b);
           javascriptSerializer json = new JavaScriptSerializer();
           uploadMessage result = json.Deserialize<uploadMessage>(returnJson);//最后的返回结果集
           
       
        public class uploadMessage
       
            public string oldFileName get; set;
            public string fileSize get; set;
            public string filePath get; set;
            public string fileType get; set;
            public string status get; set;
       
 
 
删除:
这里删除就使用了 UploadData方法来处理,太土了,大家有没有更好的办法提供一下哈
B/S
 
 public void ProcessRequest(HttpContext context)
       
            try
           
                int totalBytes = context.Request.TotalBytes;
                if (totalBytes > 0)
               
                    byte[] readBytes = context.Request.BinaryRead(totalBytes);
                    string filePath = System.Text.Encoding.Default.GetString(readBytes);
                    string overFile = context.Server.MapPath(filePath);
                    if (File.Exists(overFile))
                   
                        try
                       
                            File.Delete(overFile);
                            context.Response.Write("success");
                       
                        catch
                       
                            context.Response.Write("error");
                       
                   
               
           
            catch
           
                context.Response.Write("error");
           
            context.Response.End();
       
 
C/S
 
/// <summary>
        /// 删除成功success  删除失败 error
        /// </summary>
        private void 删除_Click(object sender, EventArgs e)
       
            System.Net.WebClient myWebClient = new System.Net.WebClient();
            byte[] b = myWebClient.UploadData("http://localhost:2666/ClientUpload/ClientDeleteTool.ashx",
                "POST", Encoding.Default.GetBytes("/AffixFiles/sw_Products/2012112211243824388.png"));
            string result = Encoding.Default.GetString(b);//返回的结果
       
 
好文要顶 关注我 收藏该文 

以上是关于删除服务端文件的主要内容,如果未能解决你的问题,请参考以下文章

git在本地修改并删除一个文件后怎样从服务端拉取

svn如何在服务器端删除,本地没删,怎么解决?

如何从svn服务器端彻底删除(包括历史版本中的内容)一个文件?

如何删除php session文件

SVN版本控制管理操作

SVN版本控制管理操作