我正在调用Rest API,并在文件夹应用程序物理路径之一下获取文件内容流并创建文件。例如下面是我在舞台环境中的网络应用程序物理路径。
\\Stage104\staging\Stage20003us\tcsapps\webroot\EmployerMaster\download
Img:Stage environment network path
这里的功能是每当API调用时,我试图删除“下载”下的所有文件,并从Rest API创建新获取的文件(pdf /图像等)。
删除和创建文件代码:
string currfile = System.AppDomain.CurrentDomain.BaseDirectory.ToString() + "download"; //System.Web.Hosting.HostingEnvironment.MapPath(string.Format("~/download/"));
System.IO.DirectoryInfo di = new DirectoryInfo(currfile);
foreach(FileInfo file in di.GetFiles()) {
file.Delete();
}
using(var file = new FileStream(HttpContext.Current.Server.MapPath(string.Format("~/download/{0}.{1}", fileName, fileExt)), FileMode.Create)) { // create a new file to write to
Stream contentStream = content.ReadAsStreamAsync().Result; // get the actual content stream
contentStream.CopyTo(file); // copy that stream to the file stream
//file.FlushAsync(); // flush back to disk before disposing
}
return string.Format("/download/{0}.{1}", fileName, fileExt);
我收到如下错误,我不确定此错误是由于删除文件或创建新文件引起的。如何克服这个问题?由于该逻辑在我的本地系统中运行良好,因此我认为它将在Stage或Prod环境中使用。
Access to the path 'NewlyCreated.pdf' is denied.