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;
    
        //然后就可以对该文件流只能保存或者其它操作
    }
    

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

  • 相关阅读:
    ajax 函数外调用
    a连接 h5点击有背景阴影
    禁止微信上下滑动
    ios 倒计时 不动 例如 2017-09-06 00:24:35
    6-10位 a-z || A-Z ||0-9 正则
    正则 不能输入中文
    正整数正则 (选择商品数量)
    手机号正则
    input输入框只能输入数字而且开头不能为零
    do...while02
  • 原文地址:https://www.cnblogs.com/imlxp/p/11196737.html
Copyright © 2011-2022 走看看