自实现input上传指定文件到服务器

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

1、添加 input 标签json

个人工做中遇到了,须要上传pdf文件到服务器的需求,并且只能上传pdf文件,accept指定了 pdf 类型。c#

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

2、Jquery实现上传服务器

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

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)
            }
        });
    }

3、后台接收url

后台接收通常要借助 HttpContext 上下文来获取文件code

public void UploadFile(){
    //获取文件
    var file = HttpContext.Request.Files["File"];
    if (file == null)
    {
        //作出文件不能为空返回
        //...
        return;
    }

    //获取参数 文件名称
    var fileName = HttpContext.Request["FileName"];
    //获取文件流
    var stream = file.InputStream;

    //而后就能够对该文件流只能保存或者其它操做
}

记录,只为本身之后遇到一样的问题,而再也不花费没必要要的时间orm

相关文章
相关标签/搜索