修改IS文件上传大小设置

本文介绍了如何在IIS6.0和IIS7中通过Web.config文件设置文件上传大小限制,包括maxRequestLength和maxAllowedContentLength参数的配置方法,并提供两种实现途径:命令行工具appcmd和直接修改配置文件。

点击打开链接

IIS 之 通过 Web.config 修改文件上传大小限制设置方法

  在IIS 6.0中,不设置默认大小为4M,设置文件上传大小的方法,maxRequestLength(KB),executionTimeout(毫秒),配置如下节点:

<system.web>
    <httpRuntime maxRequestLength="102400" executionTimeout="300000"/>        
</system.web>

  在IIS7中,设置如上设置后,不管设置多大数值,最大上传了限制为30M,还要进行如下设置才能正确:

  方法1:

  appcmd set config "My Site/MyApp" -section:requestFiltering -requestLimits.maxAllowedContentLength:104857600 -commitpath:apphost

  在IIS服务器的命令行执行如上命令,注意修改上面的网站名称和上传文件大小

  方法2:

  在web.config中加入如下配置:

复制代码
<system.webServer>
     <security>
       <requestFiltering>
        <requestLimits maxAllowedContentLength="1048576000"></requestLimits>
       </requestFiltering>
      </security>
</system.webServer>
复制代码

  以下方法是不正确或不好的方法:

  (1)修改:“C:\Windows\System32\inetsrv\config\schema\IIS_schema.xml”文件,但这样确实能做到,但如果在系统安装补丁时,有可能对这个文件进行覆盖,设置就会失效,需重新设置;

  (2)修改:

  

 

执行iis的appcmd命令方法

以管理员身份运行cmd,APPcmd.exe 位于 C:\Windows\System32\inetsrv 目录
使用 Cd c:\Windows\System32\inetsrv 切换到该目录
appcmd set config "文件服务器" -section:requestFiltering -requestLimits.maxAllowedContentLength:314572800 -commitpath:apphost
备注:
1、处理文件上传的服务器站点必须同时设置Webconfig中的maxRequestLength和执行appcmd命令修改iis配置,两项操作缺一不可
2、只需要设置处理文件上传服务的文件服务器的配置,发起上传文件的站点的配置不需要修改

3、maxRequestLength的单位是KB,maxAllowedContentLength的单位是Bit

### 如何在SQL数据库中配置文件上传大小限制 在 SQL 数据库本身并不直接管理文件上传大小限制,而是由应用程序层(如 PHP 的 `phpMyAdmin` 或其他 Web 应用程序框架)以及操作系统层面来控制这些行为。因此,在讨论如何调整文件上传大小时,通常涉及以下几个方面: #### 1. **PHP 配置 (`php.ini`)** 对于基于 PHP 的应用(例如 `phpMyAdmin`),可以通过编辑 `php.ini` 文件中的几个关键参数来调整文件上传大小限制。 - **`upload_max_filesize`**: 控制通过 HTTP POST 方法上传单个文件的最大尺寸。 - **`post_max_size`**: 定义整个 POST 请求的数据量上限,包括文件和其他表单字段。 - **`memory_limit`**: 设置脚本运行期间可用的最大内存数量。 具体操作步骤如下: - 找到并编辑 `php.ini` 文件,定位以下参数并将它们更改为适合您需求的值: ```ini upload_max_filesize = 8M post_max_size = 8M memory_limit = 512M ``` 上述示例将文件上传大小限制提高到了 8MB[^2]。 - 修改完成后保存文件,并重启 Web 服务器以使更改生效。例如,如果您使用的是 Apache,则可以执行以下命令: ```bash sudo service apache2 restart ``` #### 2. **Web 服务器配置** 除了 PHP 配置外,还需要检查所使用的 Web 服务器是否有额外的限制。 ##### 对于 Nginx 用户: Nginx 默认也有自己的文件上传大小限制,默认通常是 1 MB。要增加此限制,请在 Nginx 配置文件中添加或修改以下指令: ```nginx client_max_body_size 8M; ``` 之后重新加载 Nginx 配置: ```bash sudo nginx -s reload ``` ##### 对于 Apache 用户: Apache 不会像 Nginx 那样有明确的全局文件大小限制,但如果启用了某些模块或者特定目录下的 `.htaccess` 文件中有相关设置,则可能会影响实际效果。 #### 3. **MySQL 导入语句优化** 当处理较大的 SQL 文件时,即使调整了 PHP 和 Web 服务器的相关参数,仍可能出现超时或其他错误。此时可考虑分批导入大文件或将大数据拆分为多个较小的部分再逐一导入[^4]。 另外需要注意的一点是,尽管前端界面可能依旧显示旧有的数值(比如 “最大限制:2048KB/Max: 2,048KiB”),但这并不代表新的设置没有起作用;实际上只要按照前述方法正确设置了各项参数并且成功重启服务后,就应该能够支持更大的文件传输[^3]。 最后提醒一点,所有变更都应依据实际情况谨慎决定,过高的资源分配可能导致系统不稳定甚至崩溃等问题发生。 ```python # 示例 Python 脚本用于分割大型 SQL 文件成若干个小部分以便分别导入 def split_sql(file_path, chunk_size=1*1024*1024): # default size is 1MB per part with open(file_path,'r') as f: while True: data=f.read(chunk_size) if not data: break yield data for i,content in enumerate(split_sql('large_dump.sql')): output_filename='part_%d.sql'%(i+1,) with open(output_filename,'w') as out_f: out_f.write(content) print("Split completed.") ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值