大神们,求解答,具体问题是这样的:
我在一个项目中调用自己写的上传文件接口,还在config文件中设置了:
<httpRuntime executionTimeout="300000" maxRequestLength="951200" useFullyQualifiedRedirectUrl="false" requestLengthDiskThreshold="951200"/>
上传完全没问题,但公司项目是多个联合,.asmx文件要放在一个约定俗成的项目中,然后我在另一个主项目中调用,4M左右的小文件也是没问题,但当我测试使用一个95.5M的文件时报错:显示http状态404失败:not found,而且F11还不能单步执行。这是哪里还需要设置?还是我这程序有问题?
直接上代码:
这个.cs文件中Btn_Click事件的代码:
string addr = "D:" + @"\" + "uploadds" + @"\" + "reserve" + @"\";
string fileName = Path.GetFileName(((HttpPostedFile)Session["FileInfo"]).FileName);
Stream stream = ((HttpPostedFile)Session["FileInfo"]).InputStream;
BinaryReader br = new BinaryReader(stream);
byte[] fileByte = br.ReadBytes((int)stream.Length);
string s = id.Up(fileByte, fileName, addr);
switch (s)
{
case "1":
ClientScript.RegisterStartupScript(this.GetType(), "set", "<script language=\"javascript\">alert('上传成功!')</script>");
break;
case "2":
ClientScript.RegisterStartupScript(this.GetType(), "alert", "<script language=\"javascript\">alert('上传失败!');</script>");
break;
}
下面是webservices中调用方法的代码:
[WebMethod]
public string Up(byte[] data, string filename, string addr)
{
string s = "";
try
{
System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(addr);
string savefilename = addr + filename;
System.IO.FileInfo dirdoc = new System.IO.FileInfo(savefilename);
if (!dir.Exists)
{
dir.Create();
FileStream fs = File.Create(addr + filename);
fs.Write(data, 0, data.Length);
fs.Close();
s = "1";
return s;
}
else
{
FileStream fs = File.Create(addr + filename);
fs.Write(data, 0, data.Length);
fs.Close();
s = "1";
return s;
}
}
catch
{
s = "2";
return s;
}
}