0

在我点击个人形象后,会出现一个 Sweetalert。

我想从输入 Swal() sweetAlert 上传图像,但我总是在 ActionResult 中收到空文件。

我使用 formData Send 进行检查,但从未收到 actionresult 请求。

如果有人可以帮助我,我在 MVC5 中工作!谢谢!!对不起我的英语。

控制器:

    [LogActionFilter]
    [HttpPost]
    [ValidateAntiForgeryToken]
    [MenuPermissions]

    public ActionResult EditImage(HttpPostedFileBase inputImage)
    {
        //if (Request.Files.Count <= 0)
        //    return Json(new Dictionary<string, string>() { { "error", "Problemas en el servidor." } });
        //var avatar = Request.Files[0];
        var avatar = inputImage;
        var userName = User.Identity.GetUserName();

        if (Directory.Exists(Server.MapPath("~/Uploads/UserImg/")) == false)
        {
            Directory.CreateDirectory(Server.MapPath("~/Uploads/UserImg/"));
        }
        var path = Server.MapPath("~/Uploads/UserImg/" + userName + ".jpg");

        avatar?.SaveAs(path);
        return Json(new Dictionary<string, string>() { { "success", "Datos del usuario modificados satisfactoriamente." } });

    }

视图:Javascript

$("#AvatarId").click(function (eve) {

            swal({
                title: 'Selecciona tu imagen',
                input: 'file',
                inputAttributes: {
                    'accept': 'image/*',
                    'aria-label': 'Carga tu imagen de perfil',
                    'id': 'inputImage'
                }

            }).then(function (file) {
                /*Ajax*/
                var token = $('[name=__RequestVerificationToken]').val();
                var Datos = {
                    __RequestVerificationToken: token,
                    Imagen: file

                }
                $.ajax({

                    url: "@Url.Action("EditImage", "Account")",
                    type: 'POST',
                    data: Datos,
                    success: function (data) {
                        if (data['success']) {
                            //var result = e.target.result;
                            //$('#AvatarIconId').attr("src", result);
                            swal("Lolazo","Hahaha","success");
                        } else {
                            var message = document.createTextNode(data['error']);
                            var p = $('#genericError')
                            p.empty();
                            p.append(message);
                        }
                    },error: function () {
                        var message = document.createTextNode('¡Ocurrió un error inesperado! Comuniquese con el proveedor del sistema.');
                        var p = $('#genericError')
                        p.empty();
                        p.append(message);
                    }
        });
4

0 回答 0