使用经典ASP上传文件 - 不能大于120 KB吗?

时间:2016-03-30 23:26:30

标签: amazon-web-services amazon-ec2 asp-classic iis-8.5

这让我发疯了。我们最近迁移到Amazons EC2服务,现在我们的应用程序中的文件上传(使用Motobit Huge ASP Upload)对于任何大于120kb的文件都会失败。我知道默认限制是200kb,但是对于任何大于120的错误都没有失败,错误号为-2147024893(0x80070003),根本没有描述/细节。我无法在事件查看器或IIS日志中找到任何内容来帮助我指向任何方向。

我确实在相关网站的ASP属性下进入IIS,并将最大请求实体正文限制从200000更改为400000,并且完全没有任何区别。我甚至尝试过iisreset,并在进行更改后重新启动服务器,以确保它在无望的绝望中应用。

我尝试过多种不同的文件和文件大小。我上传的最多是一个120KB的文件。它不是代码问题,因为这个相同的代码在我的本地机箱(IIS 7)上工作没有问题,并且只是从我们的旧服务器原样复制。

ASP Limits Properties 编辑:我也尝试了以下没有结果:

将最大允许内容长度的请求过滤设置设置为30000000(30 Mb)。

手动编辑web.config并添加了requestLimits maxAllowedContentLength =“15728640”和httpRuntime maxRequestLength =“2147483647”

1 个答案:

答案 0 :(得分:1)

我希望这可以帮助将来的某个人,因为我正在试图解决这个问题,我正在敲打我的桌子。

此组件的最大内存设置为128K。任何大于此的文件都不会存储在内存中,而是存储在临时文件夹中。默认的临时文件夹是C:\ Windows \ Temp。

罪魁祸首是高级设置下的应用程序池设置。 “加载用户配置文件”设置为true。导致组件尝试在C:\ Users中使用临时路径,这是失败的。有3个解决方案:

  1. 设置加载用户个人资料=错误
  2. 在代码中分配临时文件夹(Form.TempPath =“”)
  3. 在C:\ Users中创建文件夹(使用response.write form.CheckRequirements)
  4. 对于我们的案例,#1是完美的解决方案。 #2需要编辑超过100个文件,只有当你需要将#1设置为true时才需要#3。