我对C#更新鲜,我可以将文件上传到服务器,但是当我尝试上传超过5000k的大小时,它会给出异常.
这是我的C#代码
private void UploadFile(string filename)
{
try
{
PeopleMatrixService peopleMetrixService = new PeopleMatrixService();
String strFile = System.IO.Path.GetFileName(filename);
// TestUploader.Uploader.FileUploader srv = new TestUploader.Uploader.FileUploader();
FileInfo fInfo = new FileInfo(filename);
long numBytes = fInfo.Length;
double dLen = Convert.ToDouble(fInfo.Length / 10000000);
if (dLen < 8)
{
FileStream fStream = new FileStream(filename, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fStream);
byte[] data = br.ReadBytes((int)numBytes);
br.Close();
string sTmp = peopleMetrixService.UploadFile(data, strFile);
fStream.Close();
fStream.Dispose();
MessageBox.Show("File Upload Status: " + sTmp, "File Upload");
}
else
{
MessageBox.Show("The file selected exceeds the size limit for uploads.", "File Size");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString(), "Upload Error");
}
}
Run Code Online (Sandbox Code Playgroud)
和我在webservice中的代码
[WebMethod]
public string UploadFile(byte[] f, string fileName)
{
try
{
MemoryStream ms = new MemoryStream(f);
FileStream fs = new FileStream(System.Web.Hosting.HostingEnvironment.MapPath("~/Response Attachments/") + fileName, FileMode.Create);
//FileStream fs = new FileStream(Server.MapPath("~/Response Attachments/") + fileName, FileMode.Create);
ms.WriteTo(fs);
ms.Close();
fs.Close();
fs.Dispose();
return "OK";
}
catch (Exception ex)
{
return ex.Message.ToString();
}
}
Run Code Online (Sandbox Code Playgroud)
默认情况下,maxRequestLength设置为4096(4mb),您需要在web.config文件中将其更改为更大的大小.
请参阅:http://msdn.microsoft.com/en-us/library/e1f13641(VS.80).aspx
| 归档时间: |
|
| 查看次数: |
1425 次 |
| 最近记录: |