删除服务端文件
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);//返回的结果
上传:
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);//返回的结果
好文要顶 关注我 收藏该文
以上是关于删除服务端文件的主要内容,如果未能解决你的问题,请参考以下文章