c# - 将文件从 asp.net Web 表单项目上传到 IIS 服务器时,原始文件位于临时文件夹中错误
问题描述
我正在尝试将一些具有不同扩展名的文件(如 .png、.jpg、.txt、.pdf 等)上传到 IIS 服务器。但是我的所有文件都是按照给定路径创建的,但它们都是 1kb 大小,当你打开它们时会说
原始文件位于临时文件夹中。文件完整路径:C:\Temp\xxxxxxxxx.tmp
从源代码运行时,我的代码在 localhost 上运行良好,并且 Web 服务器目录中没有像消息中提到的那样的文件夹。
我的代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="FileUploadTest.aspx.cs" Inherits="FileUploadTest" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:FileUpload ID="FileUpload1" Multiple="Multiple" name="okantestfileupload" runat="server" />
<asp:Button ID="btnFileUpload" OnClick="btnFileUpload_Clickk" runat="server" Text="ekle" Width="150px" CssClass="CommandButton" />
<asp:ListBox runat="server" ID="ListBoxForInfo" Width="400" CssClass="NormaltextBox" ></asp:ListBox>
</div>
</form>
</body>
</html>
.cs 部分
protected void btnFileUpload_Clickk(object sender, EventArgs e)
{
string strFolder = @"D:\TEST\";
HttpFileCollection uploadedFiles = Request.Files;
for (int i = 0; i < uploadedFiles.Count; i++)
{
HttpPostedFile uploadedFile = Request.Files.Get(i);
var uFileSize = uploadedFile.ContentLength;
var uFileName = uploadedFile.FileName;
var uContentType = uploadedFile.ContentType;
string uExtension =
System.IO.Path.GetExtension(uploadedFile.FileName);
uploadedFile.SaveAs(strFolder + uFileName);
ListBoxForInfo.Items.Insert(0, uFileName + "." + uContentType + " Boyut: (" + uFileSize + " bytes) yüklendi.");
}
}
我应该怎么做才能解决这个问题?我已经尝试了一些解决方案,包括考虑使用防病毒程序。
问候
解决方案
问题是相关应用程序池的托管管道模式配置。应用程序在 v2.0 .NET CLR 版本上运行,但项目是在 .NET 3.5 上构建的。所以在不了解详细机制的情况下,将 Managed PipeLine Mode从 Classic 更改为Integrated无意中解决了问题。项目中使用的其他外部组件可能出现不兼容问题。目前正在执行全周期测试,但上传问题已修复。
推荐阅读
- php - 找不到驱动程序(PHP 和 Firebird)
- sql - 如何连接两个表并显示源?
- junit - 如何在要测试的类中实例化对象是Junit测试中的抽象类?
- spring-boot - 有人可以向我解释一下springboot注入的用例
- php - 告诉 Composer 包的位置
- android - 为修改其输入并传递给模拟对象的方法创建测试用例
- r - 使用 sapply 函数对数据名称下的结果进行分组并在 R 中绘图
- python - 将颜色图固定为值
- excel - 在活动工作表中创建宏的 VBA 宏
- javascript - 如何在 react-forms 中处理两个不同的 onSubmit 函数?