如何在精细上传器中在运行时添加标头

时间:2015-11-03 13:09:51

标签: javascript jquery fine-uploader

我使用精美的上传器在服务器上传文件,为此我需要进行2次web api调用。

单击按钮,首先保存web api并返回整数结果,我需要在上传时将每个文件的标题中的整数结果传递给它。 但是我无法在标题中传递值,

代码,

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

我在第一次请求的成功块中调用上传功能,

$.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");
            }
        });

这里我想在onUpload事件中传递RequestId标头,但它不起作用,我需要做些什么改变才能实现。

1 个答案:

答案 0 :(得分:1)

request选项具有customHeaders属性,允许您设置任何自定义标头。

您的构造函数调用应该类似于

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