我开发了一个ASP.net C#函数来将PDF上传到数据库。当我在LocalHost中尝试它时,它的工作非常好。但是当我在IIS上的服务器上发布它时。点击上传时,它给出了以下错误:
System.IO.DirectoryNotFoundException: Could not find a part of the
path + <path of the file>
string filePath = Path.GetFullPath(FileUpload1.PostedFile.FileName);
string filename = Path.GetFileName(filePath);
FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
Byte[] bytes = br.ReadBytes((Int32)fs.Length);
br.Close();
fs.Close();
为了能够上传,有什么我应该改变的吗?
答案 0 :(得分:1)
当您从localhost访问它时,客户端和服务器都是相同的,因此它可以找到文件。但是当你发布这两台机器时都是孤立的。基本上你没有从上传文件中获取内容,你所做的是获取文件名并从本地硬盘获取数据,你应该使用以下代码片段。
int fileLen = fu.PostedFile.ContentLength;
Byte[] Input = new Byte[fileLen];
Stream myStream = fu.PostedFile.InputStream;
myStream.Read(Input, 0, Input.Length);
我在上传的文件中声明了一个字节数大小的字节数组。并从PostedFile InputStream中读取字节。