我想使用C#中的javascript和通用处理程序将图像上传到文件夹

问题描述

    function ajaxFileUpload(mode) {
    var fupl = 'filetoUpload';
    var fileName = $('#fileuploadbrand').val();
    if (fileName == "" || fileName == null)//if user doesn't select an image
    {
        alert('Please Select An image');
    }
    else {
        var vars = fileName.split("."); //get file extension.
        if (vars[1].toString().toLowerCase() != "jpg")
        {//check the file extension.
            alert('The image format is not valid !');
          
            return false;
        }
      
       
        $.ajax({
            type: 'POST',url: '../handlers/BandPictureHandler.ashx',data: { Action: mode },cache: false,fileElementId: 'filetoUpload',contentType: false,processData: false,success: function (data) {
                if (data.result == "successed")
                    alert('Image Uploaded');
            },error: function (data) {
                console.log("error");
                console.log(data);
            }
        });
    }
    return false;
} 

这是我的JavaScript代码。在哪里使用调试我可以看到该文件 即将到来,它也击中了处理程序。但是在处理程序中,它不会处理“新”情况。它总是重定向认情况。下面我提供处理程序代码。请帮助使用javascript将图像存储在文件夹中。如果有任何简单的步骤,那么您也可以向我建议。

公共类BandPictureHandler:IHttpHandler {

public void ProcessRequest(HttpContext context)
{
    HttpRequest request = context.Request;
    HttpResponse response = context.Response;
    string action = request["Action"];
    switch (action)
    {
        case "NEW":
            string result = "Failed";
            try
            {
                string fileName = SaveCaper(context);
                result = "successed";
                response.Write("{\"result\":" + result.ToString().ToLower() + "}");
            }
            catch
            {
                response.Write("{\"result\":" + result.ToString().ToLower() + "}");
            }
            break;
        default:
            break;
    }
}

private string SaveCaper(HttpContext context)
{
    string fileName = string.Empty;
    string path = context.Server.MapPath("~/assets/media/brand/");
    if (!Directory.Exists(path))
        Directory.CreateDirectory(path);
    try
    {
        var file = context.Request.Files[0];
        if (HttpContext.Current.Request.browser.browser.toupper() == "IE")
        {
            string[] files = file.FileName.Split(new char[] { '\\' });
            fileName = files[files.Length - 1];
        }
        else
        {
            fileName = file.FileName;
        }
        string strFileName = fileName;
        fileName = Path.Combine(path,fileName);
        try
        {
            file.SaveAs(fileName);
        }
        catch (Exception exp)
        {
            //log the exception
        }
    }
    catch (Exception exp)
    {
        //log the exception
    }
    return fileName;
}
public bool IsReusable {
    get {
        return false;
    }
}

}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)