簡體   English   中英

從asp.net Web表單項目將文件上載到IIS服務器時,原始文件在臨時文件夾中

[英]The original file is in the temp folder error when uploading a file to IIS server from asp.net web forms project

我正在嘗試將一些帶有不同擴展名的文件(如.png,.jpg,.txt,.pdf等)上傳到IIS服務器。但是我的所有文件都創建為給定路徑,但它們都是1kb大小,當你打開它們時它說

原始文件位於temp文件夾中。 文件的完整路徑: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 模式從Classic更改為Integrated可在無需了解詳細機制的情況下無意中解決問題。 在項目中使用的其他外部組件可能會出現可能的不兼容性。現在正在執行完整周期測試,但上傳問題已得到修復

  1. 在構建項目時從項目中排除文件夾。
  2. 清理項目
  3. 再次構建和部署

將此文件夾行更改為

string strFolder = @“D:\\ TEST \\”; HttpContext.Current.Server.MapPath( “〜/測試”); 並將文件放在與網站相同的目錄下

如果網站無法訪問d:\\ test,該文件將保留在臨時文件夾中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM