使用UpFiles.ashx进行文件上传后如何实现文件删除呢?

pfworld 2012-07-03 10:32:47
<%@ WebHandler Language="C#" Class="Uploader" %>
using System;
using System.IO;
using System.Web;

public class Uploader : IHttpHandler
{
public void ProcessRequest(HttpContext hc)
{
foreach (string fileKey in hc.Request.Files)
{
HttpPostedFile file = hc.Request.Files[fileKey];
string strPath = hc.Server.MapPath(".") + "\\updata\\" + DateTime.Now.ToString("yyyy-MM") + "\\";

if (!Directory.Exists(strPath))
{
Directory.CreateDirectory(strPath);
}

file.SaveAs(Path.Combine(strPath, file.FileName));
}
}

public bool IsReusable
{
get { return true; }
}
}


上传可以使用,但是如果发现上传文件错误,想在删除上传文件如何实现?

...全文
383 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
pfworld 2012-07-03
  • 打赏
  • 举报
回复
httpRuntime maxRequestLength 解决!
孟子E章 2012-07-03
  • 打赏
  • 举报
回复
File.Delete(strFilePath);
Response.Write("ok")
pfworld 2012-07-03
  • 打赏
  • 举报
回复
问题是我使用的是winform!
xmhxjjq 2012-07-03
  • 打赏
  • 举报
回复
貌似是4mb以上的文件不会被上传。
设置的问题还是什么其他的- -
网上有专门的代码写的那种支持大文件的上传控件
pfworld 2012-07-03
  • 打赏
  • 举报
回复
使用UploadFileAsync如果发打文件好像没有作用?什么原因呢?
pfworld 2012-07-03
  • 打赏
  • 举报
回复
已经解决!谢谢!

if (Convert.ToBoolean(hc.Request["filedel"]))
{
HttpPostedFile file = hc.Request.Files[fileKey];
string strFilePath = Path.Combine(strPath, file.FileName);
if (File.Exists(strFilePath))
{
File.Delete(strFilePath);
}
}

在问一下如何在winform内获取上传成功信息呢?
  • 打赏
  • 举报
回复
其实,上传前加入有效的判断,会避免很多问题,比如文件格式控制,分析后缀名,文件大小控制等等,然后捕获下异常,如果发生错误,在Delete

前期处理是必要的
孟子E章 2012-07-03
  • 打赏
  • 举报
回复
调用
url = "http://xxx/Uploader.ashx?file=xxx"

Uploader里面
File.Delete(file路径)就可以了
pfworld 2012-07-03
  • 打赏
  • 举报
回复
webClient.UploadFile(sFilePath_Dir_Web, "POST", strFilePath);

执行上传命令!

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧