【问题标题】:C# MVC Upload File without overwriting previous uploadC# MVC 上传文件而不覆盖以前的上传
【发布时间】:2018-03-17 05:53:38
【问题描述】:

我有一个

<input type="file" name="uploadedFile">

型号:

public HttpPostedFileBase UploadedFile { get; set; }

上传工作正常,但在回发后我的“UploadedFile”中,总是只有最后一次上传。 我需要上传多个文件而不是一次全部选择它们。 我知道您可以添加 multiple="multiple" 作为输入的属性,但我需要一次选择所有文件。

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

所以我需要的是:

  1. 点击上传按钮。文件提示打开,选择一张图片,点击打开,文件提示关闭。
  2. 重复步骤 1 选择另一个图像。尚未发生回发。
  3. 发送表格/发帖。两个图像都应该在控制器中可用

目前我刚刚收到第二张图片。

有人可以帮我吗?

亲切的问候

【问题讨论】:

  • 你能详细说明一个更完整的例子吗?我对"In the next step upload another Image" 的声明特别感兴趣。多个控制器操作是否连续发出多个 POST 请求?如果是这样,那么听起来您需要保留来自第一个 POST 服务器端的数据,而不是依赖它在第二个 POST 中。 (毕竟,通过网络多次传输同一个文件会很浪费。)

标签: c# html asp.net-mvc file-upload


【解决方案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);
        }
    });
}

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

【讨论】:

    【解决方案2】:

    您可以将选中的文件存储在 FileList Array 中,然后使用该数组上传文件

    html:

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

    jQuery:

    $(document).ready(function(){
    
    var fileArray=[];
    
    $("#fileUpload").change(function(e){
    
    var upFile = e.target.files[0];
    fileArray.push(upFile);
    console.log(fileArray);
    
    });
    
    
    })
    

    我已经测试过它工作正常的数组,但我没有在后端测试它

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-17
      • 2013-07-08
      • 2018-05-20
      • 2023-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多