Asp.net 上传文件,立即在表单上显示文件名,但文件只能上传到服务器om表单提交

Asp.net 上传文件,立即在表单上显示文件名,但文件只能上传到服务器om表单提交,asp.net,asp.net-mvc,asp.net-mvc-4,Asp.net,Asp.net Mvc,Asp.net Mvc 4,我是mvc新手,在弄清楚如何将文件上传到服务器上时遇到了一些麻烦 我有一个表单,用户输入姓名、地址、城市、上传文件 用户必须能够上载最多3个文件。用户选择eg后。2个文件,我们立即在表单上显示文件名,如下所示: 上载的文件: gif.dk hitme.gif 但所选文件只应在表单提交到服务器后才上载到服务器。这只是指示您已选择上载的文件。 但只有在您提交表单后,文件才会上载到服务器。这只是您选择上载的文件的指示。 但是文件只有在您提交表单后才会上载到服务器。您可以通过订阅jQuery中上载控件的

我是mvc新手,在弄清楚如何将文件上传到服务器上时遇到了一些麻烦

我有一个表单,用户输入姓名、地址、城市、上传文件

用户必须能够上载最多3个文件。用户选择eg后。2个文件,我们立即在表单上显示文件名,如下所示:

上载的文件: gif.dk hitme.gif


但所选文件只应在表单提交到服务器后才上载到服务器。

这只是指示您已选择上载的文件。
但只有在您提交表单后,文件才会上载到服务器。

这只是您选择上载的文件的指示。
但是文件只有在您提交表单后才会上载到服务器。

您可以通过订阅jQuery中上载控件的
更改
事件来显示要上载的文件列表

控制器:

public class UploaderController : Controller
{
    public ActionResult Index()
    {
        return View();
    }

    [HttpPost]
    public ActionResult Multiple(IEnumerable<HttpPostedFileBase> files)
    {
        foreach (var file in files)
        {
            if (file != null && file.ContentLength > 0)
            {
                file.SaveAs(Path.Combine(Server.MapPath("/uploads"), Guid.NewGuid() + Path.GetExtension(file.FileName)));
            }
        }
        return View("Index");
    }
}
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script>
    <script type="text/javascript">
        $(function () {
            $('#uploadFiles').on("change", function () {
                var fileUpload = $(this);
                var files = fileUpload.context.files;

                $("#files").empty();
                $("#files").append("<h3>List of files to be uploaded:</h3>");

                for (var i = 0; i < files.length; i++) {
                    var file = files[i];
                    var name = file.name;

                    var div = "<div>File name:" + name + "</div>";
                    $("#files").append(div);
                }
            });
        });
    </script>
</head>
<body>
    @using (Html.BeginForm("Multiple", "Uploader", FormMethod.Post, new { enctype = "multipart/form-data" }))
    {
        <div id="multiple">
            <input id="uploadFiles" type="file" class="multiple" name="files" multiple />
        </div>
        <button class="btn btn-default">Upload</button>
        <div id="files">
        </div>
    }
</body>
公共类上载控制器:控制器
{
公共行动结果索引()
{
返回视图();
}
[HttpPost]
public ActionResult多个(IEnumerable文件)
{
foreach(文件中的var文件)
{
如果(file!=null&&file.ContentLength>0)
{
file.SaveAs(Path.Combine(Server.MapPath(“/uploads”)、Guid.NewGuid()+Path.GetExtension(file.FileName));
}
}
返回视图(“索引”);
}
}
查看:

public class UploaderController : Controller
{
    public ActionResult Index()
    {
        return View();
    }

    [HttpPost]
    public ActionResult Multiple(IEnumerable<HttpPostedFileBase> files)
    {
        foreach (var file in files)
        {
            if (file != null && file.ContentLength > 0)
            {
                file.SaveAs(Path.Combine(Server.MapPath("/uploads"), Guid.NewGuid() + Path.GetExtension(file.FileName)));
            }
        }
        return View("Index");
    }
}
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script>
    <script type="text/javascript">
        $(function () {
            $('#uploadFiles').on("change", function () {
                var fileUpload = $(this);
                var files = fileUpload.context.files;

                $("#files").empty();
                $("#files").append("<h3>List of files to be uploaded:</h3>");

                for (var i = 0; i < files.length; i++) {
                    var file = files[i];
                    var name = file.name;

                    var div = "<div>File name:" + name + "</div>";
                    $("#files").append(div);
                }
            });
        });
    </script>
</head>
<body>
    @using (Html.BeginForm("Multiple", "Uploader", FormMethod.Post, new { enctype = "multipart/form-data" }))
    {
        <div id="multiple">
            <input id="uploadFiles" type="file" class="multiple" name="files" multiple />
        </div>
        <button class="btn btn-default">Upload</button>
        <div id="files">
        </div>
    }
</body>

指数
$(函数(){
$('#uploadFiles')。打开(“更改”,函数(){
var fileUpload=$(此值);
var files=fileUpload.context.files;
$(“#文件”).empty();
$(“#文件”).append(“要上载的文件列表:”);
对于(var i=0;i
输出:

public class UploaderController : Controller
{
    public ActionResult Index()
    {
        return View();
    }

    [HttpPost]
    public ActionResult Multiple(IEnumerable<HttpPostedFileBase> files)
    {
        foreach (var file in files)
        {
            if (file != null && file.ContentLength > 0)
            {
                file.SaveAs(Path.Combine(Server.MapPath("/uploads"), Guid.NewGuid() + Path.GetExtension(file.FileName)));
            }
        }
        return View("Index");
    }
}
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script>
    <script type="text/javascript">
        $(function () {
            $('#uploadFiles').on("change", function () {
                var fileUpload = $(this);
                var files = fileUpload.context.files;

                $("#files").empty();
                $("#files").append("<h3>List of files to be uploaded:</h3>");

                for (var i = 0; i < files.length; i++) {
                    var file = files[i];
                    var name = file.name;

                    var div = "<div>File name:" + name + "</div>";
                    $("#files").append(div);
                }
            });
        });
    </script>
</head>
<body>
    @using (Html.BeginForm("Multiple", "Uploader", FormMethod.Post, new { enctype = "multipart/form-data" }))
    {
        <div id="multiple">
            <input id="uploadFiles" type="file" class="multiple" name="files" multiple />
        </div>
        <button class="btn btn-default">Upload</button>
        <div id="files">
        </div>
    }
</body>

您可以通过订阅jQuery中upload控件的
change
事件来显示要上载的文件列表

控制器:

public class UploaderController : Controller
{
    public ActionResult Index()
    {
        return View();
    }

    [HttpPost]
    public ActionResult Multiple(IEnumerable<HttpPostedFileBase> files)
    {
        foreach (var file in files)
        {
            if (file != null && file.ContentLength > 0)
            {
                file.SaveAs(Path.Combine(Server.MapPath("/uploads"), Guid.NewGuid() + Path.GetExtension(file.FileName)));
            }
        }
        return View("Index");
    }
}
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script>
    <script type="text/javascript">
        $(function () {
            $('#uploadFiles').on("change", function () {
                var fileUpload = $(this);
                var files = fileUpload.context.files;

                $("#files").empty();
                $("#files").append("<h3>List of files to be uploaded:</h3>");

                for (var i = 0; i < files.length; i++) {
                    var file = files[i];
                    var name = file.name;

                    var div = "<div>File name:" + name + "</div>";
                    $("#files").append(div);
                }
            });
        });
    </script>
</head>
<body>
    @using (Html.BeginForm("Multiple", "Uploader", FormMethod.Post, new { enctype = "multipart/form-data" }))
    {
        <div id="multiple">
            <input id="uploadFiles" type="file" class="multiple" name="files" multiple />
        </div>
        <button class="btn btn-default">Upload</button>
        <div id="files">
        </div>
    }
</body>
公共类上载控制器:控制器
{
公共行动结果索引()
{
返回视图();
}
[HttpPost]
public ActionResult多个(IEnumerable文件)
{
foreach(文件中的var文件)
{
如果(file!=null&&file.ContentLength>0)
{
file.SaveAs(Path.Combine(Server.MapPath(“/uploads”)、Guid.NewGuid()+Path.GetExtension(file.FileName));
}
}
返回视图(“索引”);
}
}
查看:

public class UploaderController : Controller
{
    public ActionResult Index()
    {
        return View();
    }

    [HttpPost]
    public ActionResult Multiple(IEnumerable<HttpPostedFileBase> files)
    {
        foreach (var file in files)
        {
            if (file != null && file.ContentLength > 0)
            {
                file.SaveAs(Path.Combine(Server.MapPath("/uploads"), Guid.NewGuid() + Path.GetExtension(file.FileName)));
            }
        }
        return View("Index");
    }
}
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script>
    <script type="text/javascript">
        $(function () {
            $('#uploadFiles').on("change", function () {
                var fileUpload = $(this);
                var files = fileUpload.context.files;

                $("#files").empty();
                $("#files").append("<h3>List of files to be uploaded:</h3>");

                for (var i = 0; i < files.length; i++) {
                    var file = files[i];
                    var name = file.name;

                    var div = "<div>File name:" + name + "</div>";
                    $("#files").append(div);
                }
            });
        });
    </script>
</head>
<body>
    @using (Html.BeginForm("Multiple", "Uploader", FormMethod.Post, new { enctype = "multipart/form-data" }))
    {
        <div id="multiple">
            <input id="uploadFiles" type="file" class="multiple" name="files" multiple />
        </div>
        <button class="btn btn-default">Upload</button>
        <div id="files">
        </div>
    }
</body>

指数
$(函数(){
$('#uploadFiles')。打开(“更改”,函数(){
var fileUpload=$(此值);
var files=fileUpload.context.files;
$(“#文件”).empty();
$(“#文件”).append(“要上载的文件列表:”);
对于(var i=0;i
输出:

public class UploaderController : Controller
{
    public ActionResult Index()
    {
        return View();
    }

    [HttpPost]
    public ActionResult Multiple(IEnumerable<HttpPostedFileBase> files)
    {
        foreach (var file in files)
        {
            if (file != null && file.ContentLength > 0)
            {
                file.SaveAs(Path.Combine(Server.MapPath("/uploads"), Guid.NewGuid() + Path.GetExtension(file.FileName)));
            }
        }
        return View("Index");
    }
}
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script>
    <script type="text/javascript">
        $(function () {
            $('#uploadFiles').on("change", function () {
                var fileUpload = $(this);
                var files = fileUpload.context.files;

                $("#files").empty();
                $("#files").append("<h3>List of files to be uploaded:</h3>");

                for (var i = 0; i < files.length; i++) {
                    var file = files[i];
                    var name = file.name;

                    var div = "<div>File name:" + name + "</div>";
                    $("#files").append(div);
                }
            });
        });
    </script>
</head>
<body>
    @using (Html.BeginForm("Multiple", "Uploader", FormMethod.Post, new { enctype = "multipart/form-data" }))
    {
        <div id="multiple">
            <input id="uploadFiles" type="file" class="multiple" name="files" multiple />
        </div>
        <button class="btn btn-default">Upload</button>
        <div id="files">
        </div>
    }
</body>

但是如何使fil控件指示,显示要上载的文件的数量?但是如何使fil控件指示,显示要上载的文件的数量?