How to add headers at runtime in fine uploader

人走茶凉 提交于 2019-12-13 02:26:45

问题


I am using fine uploader for uploading file on server, For this I need to make 2 web api calls.

On button click, First web api saving value and returning result in integer, and I need to pass that integer result in header for each file while uploading. But I am not able to pass values in headers,

code,

uploader = new qq.FineUploader({
        element: $('#manual-fine-uploader1')[0],
        request: {
            endpoint: Url.AddEvaluationFiles,
        },
        autoUpload: false,
        text: {
            uploadButton: '<i class="icon-plus icon-white"></i> Select Files'
        },
        debug: true,
        callbacks: {
            onSubmit: function (id, fileName) {

            },
            onStatusChange: function (id, oldStatus, newStatus) {
                if (newStatus == "uploading") {
                    alert("Add header");
                }
            },
            onUpload: function (id, name) {
                alert("Onupload");
                this.append("RequestId", $("#ReqId").val());
            }
        }
    });

I am calling upload function in success block of first request,

$.ajax({
            type: "POST",
            url: Url.Details,
            data: fileData,
            async: false,
            success: function (result) {
                if (result == 0) {
                    toastr.error("Please pass user id");
                } else {
                    $("#ReqId").val(result);
                    alert($("#ReqId").val());

                    uploader.uploadStoredFiles();

                }
            },
            error: function (err) {
                toastr.error("Not able to upload art details");
            }
        });

Here I want to pass RequestId header in onUpload event, but it's not working, What changes I need to make to make it happen.


回答1:


The request option has a customHeaders property, that allows you to set any custom header.

Your constructor call should look something like

artistmanualuploader = new qq.FineUploader({
    ...
    request: {
        endpoint: "FoaUrl.AddEvaluationFiles",
        customHeaders: {
            "EvaluationRequestId": $("#CurrentEvaluationReqId").val()
        }
    },
    ...
});


来源:https://stackoverflow.com/questions/33500000/how-to-add-headers-at-runtime-in-fine-uploader

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!