目前,我正在将文件保存到代码中硬编码的目录中:
var filePath = Path.Combine(@"C:\users\my documents\github\project\source\project\App_Data\stored\", package.Id + ".zip");但是我需要用Server.MapPath保存我的文件..。比如:
FileInfo userFile = new FileInfo(Path.Combine(Server.MapPath("~/App_Data/stored"), package.Id));完整的功能:
public void CompressAndDeleteSources(FlinkeMailPackage package)
{
var filePath = Path.Combine(@"C:\users\my documents\github\project\source\project\App_Data\stored\", package.Id + ".zip");
using (ZipFile zipFile = new ZipFile(filePath))
{
foreach (var file in package.FlinkeMailFileList)
{
string bestandsNaam = @"C:\users\my documents\github\project\source\project\App_Data\uploads\" + file.OriginalName;
zipFile.AddFile(bestandsNaam);
}
zipFile.Save();
}
foreach (var file in package.FlinkeMailFileList)
{
var filePathToDelete = @"C:\users\my documents\github\project\source\project\App_Data\uploads\" + file.FileName;
File.Delete(filePathToDelete);
}
}但是当我尝试使用Server.MapPath("~/App_Data/stored")时,它不知道服务器是什么
编辑
我可以像:HttpContext.Current.Server.MapPath("~/App_Data/stored");那样使用它,但是我不能使用package.Id + ".zip",例如:var savePath = HttpContext.Current.Server.MapPath("~/App_Data/stored"),package.Id + ".zip"));
发布于 2013-06-03 09:25:51
您可以通过当前上下文HttpContext.Current.Server.MapPath("~/App_Data/stored");访问它。
要获得完整的文件路径:
var filePath = Path.Combine(HttpContext.Current.Server.MapPath("~/App_Data/stored"), package.Id + ".zip");发布于 2014-05-21 11:29:21
string fileName = Path.GetFileName(FileUpload1.PostedFile.FileName);
if (fileName != "")
{
FileUpload1.SaveAs(Server.MapPath("../../Files/" + fileName));
aComplain.FileName = fileName;
aComplain.FilePath = "../../Files/" + fileName;
string message = aComplainManager.SaveComplain(aComplain);
messageResult.Text = message;
messageResult.ForeColor = Color.Green;
Clear();
}
else if (fileName == "")
{
string message = aComplainManager.SaveComplain(aComplain);
messageResult.Text = message;
messageResult.ForeColor = Color.Green;
Clear();
}https://stackoverflow.com/questions/16893487
复制相似问题