2013-07-27 48 views
0

我很抱歉我的英語。將文件傳輸(映像)發送到服務器時出現問題。如果只從頁面上的一個表單轉移到單個文件,那麼一切都很好,但是當我嘗試做幾種表單(使用ajax)時,數據完全被傳輸。圖像(尤其是數據庫),每個的形式總計7的典型代表是模型:操作將圖像中的空對象傳遞給強類型視圖

public class Image 
{ 
    public int Id { get; set; } 
    public int ProductId { get; set; } 
    public int Number { get; set; } 
    public HttpPostedFileBase Data { get; set; } 
    public byte[] Img { get; set; } 
    public string MIMEType { get; set; } 
} 

圖 - 屬性來獲取從數據庫中的數據,數據 - 從頁面中設置

「共同」的觀點:

@for (int i = 1; i < 8; i++) 
{ 
    <div id="[email protected]"> 
     @Html.Partial("EditImage", new Image() { Id = Model.Imgs[i-1], Number = i, ProductId = Model.Id }) 
    </div> 
    <div class="clear"></div> 
} 

及主要問題,查看 「EditImage」:

@model Image 

@using (Ajax.BeginForm("EditImage", "Product", null, new AjaxOptions() 
      { 
       Url = "/Product/EditImage", 
       HttpMethod = "Post", 
       InsertionMode = InsertionMode.Replace, 
       UpdateTargetId = "image-" + Model.Number.ToString() 
      }, new { enctype = "multipart/form-data" })) 
{ 
    @Html.HiddenFor(model => model.MIMEType) 
    @Html.HiddenFor(model => model.ProductId) 
    @Html.HiddenFor(model => model.Id) 
    @Html.HiddenFor(model => model.Number) 

    <div class="mini-image left"> 
     <img src="@Url.Action("Image", "Home", new { Id = Model.Id })" /> 
    </div> 

    <input type="file" name="Data" /> 

    <input id="[email protected]" type="submit" value="Send"/> 
    <input id="[email protected]" type="reset" value="Cancel"/> 
} 

我設置斷點在第一線行動。屬性「ProductId」和「Number」已通過。數據是無效:(我試過設置ID = 「數據」,ID = 「數據@(Model.Number)」 不成功

更新:它比我想象的更難,Request.Files.Count等於0

回答

0

我只需要使用一些JavaScript庫來通過ajax上傳文件。jQuery ajax函數不能以某種方式發送文件。

相關問題