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);
});
})