現時点では、コードにハードコードされたディレクトリにファイルを保存しています。
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"));