zoukankan      html  css  js  c++  java
  • 自实现input上传指定文件到服务器

    遇到问题,解决问题,记录问题,成长就是一步一步走出来的。

    一、添加 input 标签

    我的工作中遇到了,需要上传pdf文件到服务器的需求,而且只能上传pdf文件,accept指定了 pdf 类型。

    <input type="file" id="testFile" name="testFile" accept="application/pdf">
    

    二、Jquery实现上传

    文件上传一般要基于表单上传,所以这里 new 了一个 FormData() 实例,用来将选中的文件传输到服务端。

    function fileUpload() {
            var formData = new FormData();
            var fileName = $('#testFile').val();
            var files = $('#testFile')[0].files[0];
            formData.append("File", files);
            formData.append("FileName", fileName);
            // 以及一些其它要传入的参数
            // formData.append(key, value);
    
            $.ajax({
                url: "后台上传地址",
                type: 'POST',
                data: formData,
                dataType:'json',
                processData: false,// ⑧告诉jQuery不要去处理发送的数据
                contentType: false, // ⑨告诉jQuery不要去设置Content-Type请求头
                success: function (res) {
                    console.log(res)
                }
            });
        }
    

    三、后台接收

    后台接收一般要借助 HttpContext 上下文来获取文件

    public void UploadFile(){
        //获取文件
        var file = HttpContext.Request.Files["File"];
        if (file == null)
        {
            //做出文件不能为空返回
            //...
            return;
        }
    
        //获取参数 文件名称
        var fileName = HttpContext.Request["FileName"];
        //获取文件流
        var stream = file.InputStream;
    
        //然后就可以对该文件流只能保存或者其它操作
    }
    

    记录,只为自己以后遇到同样的问题,而不再花费不必要的时间

  • 相关阅读:
    HDOJ 1207 汉诺塔II
    [转]写代码的小女孩
    POJ Subway tree systems
    HDOJ 3555 Bomb (数位DP)
    POJ 1636 Prison rearrangement (DP)
    POJ 1015 Jury Compromise (DP)
    UVA 10003
    UVA 103 Stacking Boxes
    HDOJ 3530 Subsequence
    第三百六十二、三天 how can I 坚持
  • 原文地址:https://www.cnblogs.com/imlxp/p/11196737.html
Copyright © 2011-2022 走看看