我可以上传文件的输入文件的变化,而不是使用超文本标记语言助手class.but,我需要读取和获取的数据上传的文本文件的提交按钮。
下面是我在html中使用的代码:
<div>
<input id="uploadtxtfile" type="file" multiple />
<button type="submit" class="btn-sm" id="btnuploadfile"/>
</div>以及我正在调用的jquery代码:
$('#uploadtxtfile').change(function (e) {
var i = 0;
var files = $("#uploadtxtfile").get(0).files;
fileData = new FormData();
for (i; i < files.length; i++) {
var fileName = e.target.files[0].name;
fileData.append(fileName, files[i]);
$("#txtUpload").val(fileName);
}
$.ajax({
type: "POST",
url: "/ViewProcessEDI/UploadTextFile",
async: true,
dataType: "json",
contentType: false,
processData: false,
data: fileData,
success: function (res) {
if (res.Message == "Success") {
divListProcessEDI($("#currentPage").val());
popup.close();
setTimeout(function () {
Message('Success!', 'TextFile Upload Successfully!', 's');
}, 100);
}
else {
Message('Error!', res.Message, 'e');
}
}
});
});而控制器的功能是:
我怎样才能在submit button.Can上上传文件?任何人都可以在这方面指导我。
[HttpPost]
public async Task<JsonResult> UploadTextFile()
{
string ErrorMessage = string.Empty;
Dictionary<string, string> returnVal = new Dictionary<string, string>();
try
{
CredentialsMaster objCredentialsMaster = new CredentialsMaster();
if (CheckSession.CheckStoreOwnerSession(ref objCredentialsMaster))
{
if (Request.Files.Count > 0)
{
HttpFileCollectionBase files = Request.Files;
for (int i = 0; i < files.Count; i++)
{
HttpPostedFileBase file = files[i];
string fname;
// Checking for Internet Explorer
if (Request.Browser.Browser.ToUpper() == "IE" || Request.Browser.Browser.ToUpper() == "INTERNETEXPLORER")
{
string[] testfiles = file.FileName.Split(new char[] { '\\' });
fname = testfiles[testfiles.Length - 1];
}
else
{
fname = file.FileName;
}
if (file != null && file.ContentLength > 0)
{
// Get the complete folder path and store the file inside it.
file.SaveAs(Path.Combine(@"E:\EDITextFiles", fname));
}
}
}
}
else
{
ErrorMessage = "Session Expired";
}
}
catch (Exception ex)
{
ErrorMessage = ex.Message;
Response.StatusCode = (int)HttpStatusCode.BadRequest;
return Json("Upload failed");
}
return Json("File Uploaded Successfully");
}谢谢。
发布于 2020-07-10 05:55:21
你的问题的本质是如何在没有@HTML帮助器的情况下做到这一点。通过使用表单元素并调用操作,您始终可以在没有这些帮助器的情况下执行操作。@HTML helpers只是帮助创建HTML5元素。如果需要,form元素将允许调用控制器,而无需使用Ajax。
https://stackoverflow.com/questions/62787732
复制相似问题