Ajaxupload.js如何将查询参数传递给ashx文件asp.net

时间:2013-10-16 23:17:31

标签: javascript jquery asp.net ashx

您好我一直试图将一个参数传递给我的ashx页面

提前谢谢

我目前正在使用此设置

upload

使用

jQuery有一个来自Andris Valums的插件 {/ 3}}你

代码示例

<script type="text/javascript">
$(function () {
        var customerID = getURLParameter("id");   
        new AjaxUpload('#UploadButton', {
            action: 'UploadHandler.ashx',
            data: { "customerID":"44455" },
            onComplete: function (file, response) {


                $('#UploadStatus').html("<div class=success>file has been uploaded sucessfully</div>");
                $("#UploadButton").hide();
            },
            onSubmit: function (file, ext) {
                if (!(ext && /^(jpg|png)$/i.test(ext))) {
                    alert('Invalid File Format.');
                    return false;
                }
                //$('#UploadStatus').html("Uploading...");              
            }
        });

    });
</script>

html side

<input type="button" id="UploadButton" class="btnReg charcoal" value="Upload Image" />

ashx方

public void ProcessRequest(HttpContext context)
    {
        folderPath = HttpContext.Current.Server.MapPath("DownloadedFiles");
        customerID = context.Request.QueryString["customerID"];

        //Uploaded File Deletion
        if (context.Request.QueryString.Count > 0)
        {
            string filePath = folderPath + "//" + context.Request.QueryString[0].ToString();
            deleteIMG(filePath, context.Request.QueryString[0].ToString());
        }
        //File Upload
        else
        {
            //check if directory exist if not create one
            var ext = Path.GetExtension(context.Request.Files[0].FileName);
            var fileName = Path.GetFileName(context.Request.Files[0].FileName);

            if (context.Request.Files[0].FileName.LastIndexOf("\\") != -1)
            {
                fileName = context.Request.Files[0].FileName.Remove(0, context.Request.Files[0].FileName.LastIndexOf("\\")).ToLower();
            }

            fileName = GetUniqueFileName(fileName, HttpContext.Current.Server.MapPath("DownloadedFiles/"), ext).ToLower();

            string location = HttpContext.Current.Server.MapPath("DownloadedFiles/") + fileName + ext;
            context.Request.Files[0].SaveAs(location);            

            context.Response.Write(fileName + ext);
            context.Response.End();            
        }

    }

1 个答案:

答案 0 :(得分:1)

自从我使用它已经有一段时间了,但我认为它会执行POST并且能够在您的处理程序中读取这些参数,您需要从

中读取它们
context.Request.Params["paramname"]