使用单个按钮上传文件

File Upload with single Button

本文关键字:文件 按钮 单个      更新时间:2023-09-26

我已经用一个按钮完成了增量文件上传我已经采取了一个按钮和一个文件上传控制,点击按钮我打开文件上传浏览文件,

在选择了文件后,我必须提交表单,当我点击提交时,问题就出现了,文件上传被清空,我的控制器中的HttpPostedFileBase为null,但当我直接使用文件上传控制(即点击其浏览按钮)时,其工作正常

下面是我的代码

  $(document).ready(function () {
        $("#btn").click(function () {
            $("#logup").click();
            $("#logup").select();
            return false;
        });
    });


<input type="button" id="btn" value="Choose file" />
<input type="file" id="logup" name="logofile" style="display:none" />

<button type="submit">Submit</button>

第二,我还想在选择文件后显示文件名,除了我的btn,我该怎么做?

问题1的答案

下面是一个带有两个提交按钮的表单。请注意,这两个提交按钮的名称相同,即"submitButton"

@Html.BeginForm("MyAction", "MyController"); %>
<input type="submit" name="submitButton" value="Button1" />
<input type="submit" name="submitButton" value="Button2" />
}

现在转到控制器,Action接收一个名为string stringButton的输入参数,其余的都是不言自明的。

public ActionResult MyAction(string submitButton) {
        switch(submitButton) {
            case "Button1":
               // do something here
            case "Button2":
               // do some other thing here
            default:
                // add some other behaviour here
        }
...
}

问题2的答案

您将从HttpFilePostedBase对象中获得fileName,但由于您不希望返回post,因此可以创建一个操作,将该值作为JSON 返回