访问httppostdfile没有保存,得到错误'请求类型的权限'System.Security.Per

本文关键字:类型 请求 权限 System Per Security httppostdfile 保存 访问 错误 | 更新日期: 2023-09-27 18:06:14

我们可以访问httppostdfile上传的文件而不保存文件吗?我正在尝试读取文件的名称和大小,但得到错误"请求类型'System.Security.Permissions '的权限。FileIOPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed."

它在本地主机上运行良好,但在共享主机服务器(GoDaddy)上出现此错误。请给我一个解决方案。在保存文件之前,我需要读取文件的一些属性。

谢谢

访问httppostdfile没有保存,得到错误'请求类型的权限'System.Security.Per

您可以将文件读入字节流,然后将字节流提供给FileInfo类。但是权限可能会阻止您读取字节流。Net没有对临时目录的写访问权限。我们可以看看抛出错误的代码吗?

编辑

我读错了FileInfo类。如果文件在服务器上被物理地指向,那么就可以工作。您应该能够通过在请求中调用. filename来获取文件的文件名。提交请求的文件[0]。如果你想把它读入内存,它看起来像这样:

 byte[] fileData = null; 
 using (var binaryReader = new BinaryReader(Request.Files[0].InputStream)) { fileData = binaryReader.ReadBytes(Request.Files[0].ContentLength); }

你试过只看Request.Files[0]吗?看看它是否返回您正在寻找的正确文件名?