上传文件—"网页无法显示"

网站里面点击“上传附件”,可是在点击“确定提交”按钮时竟然出现了“网页无法显示”的错误!        经过一段时间的考证,一直没有找到问题原因所在!!         今天在公司做程序上传的时候再次出现了同样的问题,于是问同事,同事说可能是win2003服务器默认限制         终于找到原因了!上传的时候,默认允许大小是4M,而当小于4M的时候正常运行,当超过4M将显示网页无法显示。 解决方案: 在web.config中的<system.web></system.web>内加入如下代码: <httpRuntime maxRequestLength="400000" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" /> httpRuntime是配置asp.net http运行时设置,以确定如何处理对asp.net应用程序的请求。     executionTimeout:表示允许执行请求的最大时间限制,单位为秒     maxRequestLength:指示 ASP.NET 支持的最大文件上载大小。该限制可用于防止因用户将大量文件传递到该服务器而导致的拒绝服务攻击。指定的大小以 KB 为单位。默认值为 4096 KB (4 MB)。      useFullyQualifiedRedirectUrl:表示指示客户端重定向是否是完全限定的(采用 "http://server/path" 格式,这是某些移动控件所必需的),或者指示是否代之以将相对重定向发送到客户端。如果为 True,则所有不是完全限定的重定向都将自动转换为完全限定的格式。false 是默认选项。     minFreeThreads:表示指定允许执行新请求的自由线程的最小数目。ASP.NET 为要求附加线程来完成其处理的请求而使指定数目的线程保持自由状态。默认值为 8。     minLocalRequestFreeThreads:表示ASP.NET 保持的允许执行新本地请求的自由线程的最小数目。该线程数目是为从本地主机传入的请求而保留的,以防某些请求在其处理期间发出对本地主机的子请求。这避免了可能的因递归重新进入 Web 服务器而导致的死锁。     appRequestQueueLimit:表示ASP.NET 将为应用程序排队的请求的最大数目。当没有足够的自由线程来处理请求时,将对请求进行排队。当队列超出了该设置中指定的限制时,将通过“503 - 服务器太忙”错误信息拒绝传入的请求。     enableVersionHeader:表示指定 ASP.NET 是否应输出版本标头。Microsoft Visual Studio 2005 使用该属性来确定当前使用的 ASP.NET 版本。对于生产环境,该属性不是必需的,可以禁用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要实现将文件上传到数据库并返回到网页显示,你需要使用前端(HTML、CSS、JavaScript)和后端(服务器端语言如PHP、Node.js)来完成这个过程。下面是一个简单的示例,以供参考: 1. 前端HTML代码(index.html): ```html <!DOCTYPE html> <html> <head> <title>文件上传</title> </head> <body> <h1>选择文件上传</h1> <input type="file" id="fileInput"> <button onclick="uploadFile()">上传</button> <div id="fileList"></div> <script src="script.js"></script> </body> </html> ``` 2. 前端JavaScript代码(script.js): ```javascript function uploadFile() { var fileInput = document.getElementById('fileInput'); var file = fileInput.files[0]; var formData = new FormData(); formData.append('file', file); // 使用AJAX将文件发送到后端 var xhr = new XMLHttpRequest(); xhr.open('POST', 'upload.php', true); xhr.onload = function() { if (xhr.status === 200) { // 上传成功,处理返回的数据 var response = JSON.parse(xhr.responseText); if (response.success) { // 显示文件列表 displayFiles(response.files); } else { alert('文件上传失败!'); } } else { alert('发生错误:' + xhr.status); } }; xhr.send(formData); } function displayFiles(files) { var fileListDiv = document.getElementById('fileList'); fileListDiv.innerHTML = ''; for (var i = 0; i < files.length; i++) { var file = files[i]; var fileLink = document.createElement('a'); fileLink.href = file.url; fileLink.textContent = file.name; fileListDiv.appendChild(fileLink); fileListDiv.appendChild(document.createElement('br')); } } ``` 3. 后端代码(upload.php): ```php <?php // 连接数据库 $servername = "localhost"; $username = "your_username"; $password = "your_password"; $dbname = "your_database"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("数据库连接失败: " . $conn->connect_error); } // 处理上传的文件 $targetDir = "uploads/"; // 上传文件保存的目录 $fileName = basename($_FILES["file"]["name"]); $targetFilePath = $targetDir . $fileName; $fileType = pathinfo($targetFilePath, PATHINFO_EXTENSION); // 将文件移动到目标目录 if (move_uploaded_file($_FILES["file"]["tmp_name"], $targetFilePath)) { // 文件上传成功,将文件信息保存到数据库 $sql = "INSERT INTO files (name, url) VALUES ('$fileName', '$targetFilePath')"; if ($conn->query($sql) === TRUE) { // 获取所有文件列表 $result = $conn->query("SELECT * FROM files"); $files = array(); if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { $files[] = array( 'name' => $row['name'], 'url' => $row['url'] ); } } // 返回文件列表给前端 echo json_encode(array( 'success' => true, 'files' => $files )); } else { echo json_encode(array('success' => false)); } } else { echo json_encode(array('success' => false)); } $conn->close(); ?> ``` 请确保你已经创建了一个名为`uploads`的文件夹来保存上传的文件,并在数据库中创建了一个名为`files`的数据表,其中包含`name`和`url`两个字段。此外,你还需要将`your_username`、`your_password`和`your_database`替换为你自己的数据库连接信息。 运行上述代码后,用户选择文件后点击上传按钮,前端JavaScript代码将文件通过AJAX发送到后端的upload.php文件。后端将文件保存到服务器上的uploads文件夹,并将文件信息存储到数据库中。然后,后端返回文件列表给前端,并在网页显示这些文件的链接。 这只是一个简单的示例,实际应用中可能需要更多的验证和安全措施来保护上传的文件和数据库。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值