从asp.net Web窗体项目将文件上传到IIS服务器时,原始文件在temp文件夹中
作者:互联网
我正在尝试将具有.png,.jpg,.txt,.pdf等不同扩展名的文件上传到IIS服务器.但是我的所有文件都被创建到给定的路径,但它们的大小均为1kb,当您打开它们时说
The original file is in the temp folder. Full path of the file:
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上构建.因此,在不了解详细机制的情况下,将托管管道模式从经典模式更改为集成模式可以无意间解决了该问题.项目中使用的其他外部组件可能会出现不兼容性.目前正在执行全周期测试,但已解决了上载问题.
标签:webforms,asp-net,c 来源: https://codeday.me/bug/20191108/2006462.html