C# C MVC上载文件而不覆盖以前的上载

C# C MVC上载文件而不覆盖以前的上载,c#,html,asp.net-mvc,file-upload,C#,Html,Asp.net Mvc,File Upload,我有一个 <input type="file" name="uploadedFile"> 上传工作正常,但在回发后的上传文件中,总是只有最后一次上传。 我需要上传多个文件,而不是一次选择所有文件。 我知道有multiple=multiple可以添加为输入的属性,但是在那里我需要一次选择所有文件 尝试了一个列表,没有运气 所以我需要的是: 点击上传按钮。文件提示打开,选择图像,单击“打开”,文件提示关闭。 重复步骤1,选择其他图像。尚未发生回发事件。 发送表格/发邮件。这两个图像都应

我有一个

<input type="file" name="uploadedFile">
上传工作正常,但在回发后的上传文件中,总是只有最后一次上传。 我需要上传多个文件,而不是一次选择所有文件。 我知道有multiple=multiple可以添加为输入的属性,但是在那里我需要一次选择所有文件

尝试了一个列表,没有运气

所以我需要的是:

点击上传按钮。文件提示打开,选择图像,单击“打开”,文件提示关闭。 重复步骤1,选择其他图像。尚未发生回发事件。 发送表格/发邮件。这两个图像都应在控制器中可用 目前我刚刚收到第二张图片

有人能帮我吗


善意的问候从未测试过它,但我认为这应该对你有用

<input type="file" id="texboxID" name="uploadedFile[]">
<a href="#" onclick="addFiles()">Add File</a>

    <script>
       function addFiles(){

           $("#myForm").append('<input type="file" name="uploadedFile[]" />')
       }
  </script>
那么上传应该是这样的:

function UploadFilesToServer(texboxID) {
    var fileUpload = $("#" + texboxID+"").get(0);
    var files = fileUpload.files;
    var FilesToServer = new FormData();
    for (var i = 0; i < files.length; i++) {
        FilesToServer.append(files[i].name, files[i]);
    }
    $.ajax({
        url: "url",
        type: "POST",
        contentType: false,
        processData: false,
        data: FilesToServer,
        // dataType: "json",
        success: function (result) {
            alert(result);
        },
        error: function (err) {
            alert(err.statusText);
        }
    });
}

希望我理解了您的问题并以方便的方式回答了您

您可以将选定的文件存储在文件列表数组中,然后使用此数组上载文件

html:

<input type="file" id="fileUpload">

我已经测试了阵列,它工作正常,但我没有在后端测试它

您能详细说明一个更完整的示例吗?我对下一步的声明特别感兴趣,上传另一张图片。是否在多个控制器动作后连续发出多个POST请求?如果是这样,那么听起来您需要保留来自第一个POST服务器端的数据,而不是依赖于第二个POST中的数据。毕竟,在网络上多次传输同一个文件将是一种浪费。
<input type="file" id="fileUpload">
$(document).ready(function(){

var fileArray=[];

$("#fileUpload").change(function(e){

var upFile = e.target.files[0];
fileArray.push(upFile);
console.log(fileArray);

});


})