0

嗨,我多年来一直试图将参数传递给我的 ashx 页面

先感谢您

我目前正在使用此设置

上传

它的使用

jQuery 有一个来自 Andris Valums 的插件 http://valums.com/ajax-upload/

代码示例

<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端

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

    }
4

1 回答 1

1

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

context.Request.Params["paramname"]
于 2013-10-16T23:26:17.853 回答