我試圖讓訪問者通過我的MVC網站上傳圖片。該計劃是爲用戶上傳圖像,然後在控制器的另一個操作中,獲取所有圖像並顯示它們。上傳文件的MVC字段類型
我的模型有這一領域:
public virtual byte[] FileData{ get; set; }
我的數據庫表有此列:
FileData varbinary
在我看來,我有以下幾點:
<div class="form-group">
@Html.LabelFor(model => model.FileData, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.TextBoxFor(model => model.FileData, new { type = "file" })
@Html.ValidationMessageFor(model => model.FileData)
</div>
</div>
當我提交我得到這個錯誤的形式:
個System.FormatException: The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters.
我的問題是:
對於FileData
列正確的數據庫表中的數據類型?
FileData
字段的模型類型是否正確?
異常的原因是什麼?
有一個【答案在這裏(http://stackoverflow.com/questions/15106190/uploading-files-into-database-with-asp-net- MVC)。至於你的例外:異常的來源是什麼?完整的堆棧跟蹤是什麼樣的? – Jasen
使用具有屬性'HttpPosedFileBase File'的視圖模型綁定到 - '@ Html.TextBoxFor(m => m.File,new {type =「file})'並將輸入流讀入數據模型的'byte [ ] FileData'屬性。 –