Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用jquerymvc4上传pdf文件_C#_Jquery_Html_Ajax_Asp.net Mvc 4 - Fatal编程技术网

C# 使用jquerymvc4上传pdf文件

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

我正在尝试使用jquery上传文件,它可以与文本文件一起正常工作,但是当我尝试上传pdf文件时,它会给出一个错误,并且总是返回0到Request.Files.Count

实际上,我正在尝试在上载之前预览文档,因此首先我在预览文件夹中上载一个文档,然后我使用pdf viewer将其显示在div中,如果他选择另一个文档,我将删除最后一个文档并上载新文档,但我的问题是,我的代码仅适用于.txt文件,我需要pdf

我尝试了2个小时,但不理解错误,请帮助

客户端代码

  [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文件的大小。