【发布时间】:2011-04-26 21:12:31
【问题描述】:
在 C# ASP.net 中使用 FileUpload Dialog 控件时,如何确定用户上传的文件在按下上传按钮之前是否已关闭。这将阻止用户将包含未保存数据的文件推送到服务器进行处理。
【问题讨论】:
标签: c# asp.net file-upload
在 C# ASP.net 中使用 FileUpload Dialog 控件时,如何确定用户上传的文件在按下上传按钮之前是否已关闭。这将阻止用户将包含未保存数据的文件推送到服务器进行处理。
【问题讨论】:
标签: c# asp.net file-upload
AFAIK,你不能。该文件将:
【讨论】:
这(在某种程度上)是可能的,但需要付出大量努力并密切控制最终用户环境,而这可能是不可能的。
一般步骤如下:
1:您可以使用虚拟文件系统,如 CBFS 或其他开源库(对不起,我没有 CBFS 以外的任何实际经验) - http://www.eldos.com/solutions/solutions-for-developers.php#commchannel
2:创建虚拟文件系统,使其映射到数据库存储或服务器端存储
3:将其映射为最终用户系统上的目录
4:只要最终用户在此共享中创建和修改文件,或者您只接受来自此共享的文件,您就可以检查打开的文件句柄,如果是,则阻止上传
【讨论】:
这取决于用户如何编辑您的文件。例如 Word 和从 Windows Vista 或 7 开始的记事本确实会锁定文件,因此其他人无法对其进行写入。在这种情况下,只需打开可写文件并检查是否收到 IOException。
static bool IsWriteProtected(string file)
{
try
{
using (File.OpenWrite(file)) ;
}
catch (UnauthorizedAccessException ex)
{
return true;
}
return false;
}
你的, 阿洛伊斯·克劳斯
【讨论】: