C# 使用jquerymvc4上传pdf文件
我正在尝试使用jquery上传文件,它可以与文本文件一起正常工作,但是当我尝试上传pdf文件时,它会给出一个错误,并且总是返回0到Request.Files.Count 实际上,我正在尝试在上载之前预览文档,因此首先我在预览文件夹中上载一个文档,然后我使用pdf viewer将其显示在div中,如果他选择另一个文档,我将删除最后一个文档并上载新文档,但我的问题是,我的代码仅适用于.txt文件,我需要pdf 我尝试了2个小时,但不理解错误,请帮助 客户端代码C# 使用jquerymvc4上传pdf文件,c#,jquery,html,ajax,asp.net-mvc-4,C#,Jquery,Html,Ajax,Asp.net Mvc 4,我正在尝试使用jquery上传文件,它可以与文本文件一起正常工作,但是当我尝试上传pdf文件时,它会给出一个错误,并且总是返回0到Request.Files.Count 实际上,我正在尝试在上载之前预览文档,因此首先我在预览文件夹中上载一个文档,然后我使用pdf viewer将其显示在div中,如果他选择另一个文档,我将删除最后一个文档并上载新文档,但我的问题是,我的代码仅适用于.txt文件,我需要pdf 我尝试了2个小时,但不理解错误,请帮助 客户端代码 [HttpPost] p
[HttpPost]
public ActionResult PreviewUpload()
{
if (Request.Files.Count > 0)
{
foreach (string files in Request.Files)
{
var _file = Request.Files[files];
FileInfo Fi = new FileInfo(Path.GetFileName(_file.FileName));
string fileExtention = Fi.Extension;
if (_file != null)
{
if (fileExtention == ".PDF")
{
string fileName = Path.GetFileName(_file.FileName);
if (_file.ContentLength <= 120000000)
{
_file.SaveAs(Server.MapPath("~/PreviewPDF/" + fileName));
}
string path = "/PreviewPDF/" + Path.GetFileName(_file.FileName);
ViewData["error"] = path;
return Json(new
{
Success = path
});
}
else
{
return Json(new
{
fileError = "Only Support PDF"
});
}
}
else
{
return Json(new
{
error = "Please Select the file"
});
}
}
}
return Json(new
{
error = "Please Select the file"
});
}
HTML
<input id="file" class="form-control-file" type="file" name="file" placeholder="Document Upload" />
Jquery
$("#file").change(function () {
var formData = new FormData();
var totalFiles = document.getElementById("file").files.length;
for (var i = 0; i < totalFiles; i++) {
var file = document.getElementById("file").files[i];
formData.append("file", file);
}
$.ajax({
type: "POST",
url: '/Admin/PreviewUpload',
data: formData,
dataType: 'json',
contentType: false,
processData: false,
success: function (response) {
alert('succes!!');
},
error: function (error) {
alert("errror");
}
});
});
$(“#文件”).change(函数(){
var formData=new formData();
var totalFiles=document.getElementById(“文件”).files.length;
对于(var i=0;i
服务器端代码
[HttpPost]
public ActionResult PreviewUpload()
{
if (Request.Files.Count > 0)
{
foreach (string files in Request.Files)
{
var _file = Request.Files[files];
FileInfo Fi = new FileInfo(Path.GetFileName(_file.FileName));
string fileExtention = Fi.Extension;
if (_file != null)
{
if (fileExtention == ".PDF")
{
string fileName = Path.GetFileName(_file.FileName);
if (_file.ContentLength <= 120000000)
{
_file.SaveAs(Server.MapPath("~/PreviewPDF/" + fileName));
}
string path = "/PreviewPDF/" + Path.GetFileName(_file.FileName);
ViewData["error"] = path;
return Json(new
{
Success = path
});
}
else
{
return Json(new
{
fileError = "Only Support PDF"
});
}
}
else
{
return Json(new
{
error = "Please Select the file"
});
}
}
}
return Json(new
{
error = "Please Select the file"
});
}
[HttpPost]
公共行动结果预览wupload()
{
如果(Request.Files.Count>0)
{
foreach(Request.files中的字符串文件)
{
var_file=Request.Files[Files];
FileInfo Fi=newfileinfo(Path.GetFileName(_file.FileName));
字符串fileextension=Fi.Extension;
如果(_file!=null)
{
如果(文件扩展=“.PDF”)
{
字符串文件名=Path.GetFileName(_file.fileName);
如果(_file.ContentLength如果要上载大文件,则需要更改配置
有关更多详细信息,请单击此处
您需要添加/更新“executionTimeout”的值,
“maxRequestLength”和“maxAllowedContentLength”属性(如果不是
已添加到“Web.config”文件中,如下所示
//这是您的项目版本
请检查您的pdf文件大小,可能是MVC应用程序中更大的文件默认文件上载大小4MB
您需要增加请求长度maxRequestLength
。好的,兄弟,非常感谢您,它只允许4 mb,当我上载3 mb pdf文件时,它工作得非常好,谢谢欢迎Bhai,如果您想要上载>4 mb file您需要使用maxRequestLength增加web.config文件的大小。