我正在将文件从C#应用程序上传到ASP.Net网站,这两个文件都由我编写,因此我可以访问该代码。
但是,它适用于文本文件(1KB),但不适用于MOV文件(77MB)。
在这两种情况下,我都使用UploadProgressChanged来获取进度。 TXT文件变为100%,而MOV文件仅变为50%。完成后,我只找到保存在服务器上但不保存MOV文件的TXT文件。
为什么会这样?我怎样才能让它发挥作用?
Windows应用程序代码 - C#
Client.UploadFileAsync(new Uri("http://localhost:xxxxxx/Default.aspx"), "c:\\1.MOV");
Default.aspx代码 - VB
Protected Sub Page_Load(...) Handles Me.Load
If Request.Files IsNot Nothing Then
If Request.Files.Count > 0 Then
Request.Files(0).SaveAs(Server.MapPath("~/1.mov"))
Response.Write("File saved at: " + Server.MapPath("~/1.mov"))
Else
Response.Write("At least one file should be sent")
End If
Else
Response.Write("No file received")
End If
End Sub
答案 0 :(得分:3)
您可以通过在上传页面所在的目录中删除web.config文件,以本地化方式更改默认限制(4mb)。这样你就不必在你的整个网站上进行大量上传(这样做会让你受到某种攻击)。
以下是制作应用的示例。这个设置为100mb:
<configuration>
<system.web>
<httpRuntime maxRequestLength="100000" executionTimeout="600" />
</system.web>
</configuration>
答案 1 :(得分:0)
当指定值小于1千字节且大于4194304千字节(4 GB)时抛出异常。