string filenameall="", filename = "", path = "";
HttpPostedFileBase file = Request.Files[0];
path = new Uri(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().CodeBase)).LocalPath;
filename = SessionUser.user.Id.ToString() + "_" + DateTime.Now.ToString("yyyyMMddHHmmss") + "_" + file.FileName;
filenameall = path + @"\" + filename;
file.SaveAs(@"c:\1_20130227200104_Book1.xls"); //不会清空Session
//file.SaveAs(@"D:\project\ABC\trunk\develop\VS2010\Web\bin\1_20130227200104_Book1.xls");//会清空Session
使用Jquery ajaxFileUpload插件上传文件,发现上传后将文件SaveAs在网站当前目录,可以正常保存,但是在作权限检查的时候发现Session被清空,用户需要重新登录:
public class CustomAuthorizeAttribute : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
if (httpContext.Session.Contents["LoginUser"] == null)
return false;
//……
}
}
而将上传的文件放置在其它地方(如C盘)则没有这个问题。暂时不知是什么原因引起。