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

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

  • 相关阅读:
    IE 中的 button type默认值问题
    linux中的&&和&,|和||
    scp 上传 下载 文件
    git 撤销,放弃本地修改
    git branch 新建,推送与删除
    git tags 管理
    CentOS7下Firewall常用命令
    git 忽略文件,不提交文件 清空缓存
    mysql 常用命令
    优秀的测试人员简历是什么样子的?
  • 原文地址:https://www.cnblogs.com/imlxp/p/11196737.html
Copyright © 2011-2022 走看看