3

誰かがこのjqueryの便利なライブラリをインスタンス化するという明確な提案を持っていますか?

ファイルを送信し、サーバーからのJson応答を管理する必要があります。Jsコード内で常にjson応答を受け取りません。私はそれについて言及しているいくつかの記事をレビューしましたが、コードは目的に適合していません。状況は次のとおりです。データベースに送信して保存しましたが、Jsonの応答が届きません。

前もって感謝します。

これは私のビューコードです:

<script type="text/javascript">

$("#formUplImg").fileupload({
    dataType: "json",
    url:'@Url.Action("CreateJson","ProductImage")',
    done: function (e, data) {
        alert(data.StatusMessage);
    }
});

</script>



@using (Html.BeginForm("CreateJson", "ProductImage", FormMethod.Post, new { id = "formUplImg", enctype = "multipart/form-data", @class = "jqtransform" }))
{
@Html.ValidationSummary(true)

<div class="rowElem">
    <input type="file" id="Content" name="Content" />
</div>
<div class="rowElem">
    @Html.ValidationMessageFor(item => item.Content)
</div>

<div class="rowElem">@Html.JQueryUI().Button("Guardar imagen", ButtonElement.Button, ButtonType.Submit, new { id = "guardar_imagen" })</div>
}

これは私のコントローラーアクションコードです:

  [HttpPost]
    public ContentResult CreateJson(UploadedFileInfo fileInfo)
    {
        try
        {
            if (fileInfo.Content == null)
                throw new Exception("Hubo problemas con el envío. Seleccione un archivo a subir");

            var file = new TempDocument
            {
                CreatedBy = User.Identity.Name,
                CreationTime = DateTime.Now,
                FileName = fileInfo.Content.FileName,
                MimeType = fileInfo.Content.ContentType,
                Size = fileInfo.Content.ContentLength,
                Content = new byte[fileInfo.Content.ContentLength]//Image content to save
            };

            fileInfo.Content.InputStream.Read(file.Content, 0, fileInfo.Content.ContentLength);//Reading image content into ProductImage object
            DocumentsManager.StorePendingDocuments.Add(file);
            DocumentsManager.SaveTempDocuments();//Store each document uploaded to: TempDocument Table

            TempData["SuccessMsg"] = "The image was saved successfully";

            var json = new JavaScriptSerializer().Serialize(new { Success = true, StatusMessage = "El objeto fue insertado correctamente" });
            return Content(json, "application/json");
        }
        catch (Exception exception)
        {
            TempData["ErrorMsg"] = exception.Message;
            var json = new JavaScriptSerializer().Serialize(new { Success = false, StatusMessage = exception.Message });
            return Content(json, "application/json");
        }
    }
4

1 に答える 1