簡體   English   中英

發布信息時對上載的文件進行整理-ASP.NET C#Web表單

[英]Housekeeping on uploaded files when posting information - asp.net c# web form

我在asp.net 4.0 c#中有一個Webform,它是關於發布要出售的圖書信息的。

當前,如果用戶上載圖書圖片並且未單擊“提交”按鈕,則該文件仍將位於我的本地驅動器中。 如何管理未在.net中發布的未使用文件中的那些文件/內務處理?

目前,它僅使用以下aspx代碼:

<asp:FileUpload ID="flupload1" runat="server" />
<asp:RegularExpressionValidator ID="revImage" runat="server" ControlToValidate="flupload1"
     ValidationGroup="sell" Display="Dynamic" ForeColor="Red" Text="  Invalid image type"
     ValidationExpression="^.*\.((j|J)(p|P)(e|E)?(g|G)|(g|G)(i|I)(f|F)|(p|P)(n|N)(g|G))$" />

對於后面的代碼:

protected void uploadBtn1_Click(object sender, EventArgs e)
{
    if (flupload1.HasFile)
    {
        flupload1.SaveAs(Server.MapPath("productImages") + "//" + flupload1.FileName);
        try
        {
            img1.ImageUrl = "ProductImages//" + flupload1.FileName;
        }
        catch (Exception )
        {

        }
    }
}

我們處理類似問題的方法是將所有臨時文件(上載,請求下載的文件)存儲在網站的一個知名的臨時目錄中。

然后,當該網絡應用啟動時(計划每晚重置一次),它將刪除目錄中所有早於24小時的文件。

為您提供一些建議:

  1. 首次上傳圖像時,請將其緩存在RAM中,直到用戶隨后單擊“提交”按鈕時才將其寫入磁盤。 將緩存條目配置為在固定時間后過期。
  2. 在ASP.NET應用程序中有一個后台線程,該線程每隔一段時間就會喚醒一次並執行所需的清理。 您可能可以通過以下方式簡化此過程:先將文件保存到temp文件夾中,然后在用戶點擊“提交”時將它們移動到最終目的地。
  3. 在Windows中創建一個計划任務,該任務定期運行以進行清理。

暫無
暫無

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

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