我有這個模型:
public class PostAddRequest
{
public int Id { get; set; }
public string Title { get; set; }
public string FeaturedImagePath { get; set; }
public HttpPostedFileBase FeaturedImage { get; set; }
}
現在,在控制器中我找不到如何填充HttpPostedFileBase屬性,以便填充輸入型別欄位。
uj5u.com熱心網友回復:
這不能做,因為不應該做。改變你的方法。
您不想從服務器預填充檔案輸入。即使有可能,請考慮在用戶提交表單而不更改檔案的情況下會涉及什么:
- 服務器會將整個檔案發送給客戶端
- 客戶端將檔案保存到檔案系統
- 客戶端會將整個檔案重新發送回服務器
- 該檔案仍會無緣無故地保存在客戶端的某個位置嗎?然后怎樣呢?
退后一步,重新考慮方法。檔案輸入最初是空的,以便用戶根據需要選擇新檔案。
要向用戶顯示服務器上已存在檔案,請提供與檔案輸入分開的 UI。它可能像這樣簡單:
<a href="/files/123">Filename.ext</a> (click to download)
<a href="/files/123/delete">Delete?</a>
Select a new file: <input type="file" name="file" />
或任何與這些功能相關的東西。基本上你有三個可用的操作:
- 獲取檔案
- 洗掉檔案
- 上傳新檔案
這些是單獨的操作,由單獨的 UI 元素呼叫。檔案輸入僅涵蓋其中一項操作。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/494996.html
標籤:C# 网 asp.net-mvc httppostedfilebase
