Quantcast
Channel: ASP.NET AJAX + Ajax Control Toolkit (ACT)
Viewing all articles
Browse latest Browse all 5678

image url doesn`t refresh after db update

$
0
0

Hi,

I have a Ajaxupload witch i use for uploading images to a database, for the displaying of the image i user a .ashx handler.

Now i have one problem, when i load the page i use the Image1.ImageURL = "~/handler.ashx?ImageId=" + iImageId; in the formload.

The problem is when i upload a new image with a AjaxUpload(See code below) i cannot use the same handler(Because the image url stays the same and the browser doesn`t do anything then) so i made a new handler ImageRefresh. This works fine if i load a new image for 1 time, but if i want to load a new image it doesn`t show the new image. I use the handler to update a profile image..so the id stays the same.

I`ve tried to use a session variable..but because the script is loaded in the document.ready function, the session stays the same..(Or I'm doing something wrong in the session) Below i will show some examples witch I've tried.

Example 1:
var tmpCount = 0;
    $(function () {
        new AjaxUpload('#udUploadButton', {
            action: 'WIUploadHandler.ashx',
            onComplete: function (file, response) {
                $("<div><img src='./Images/upload/btndelete.png' onclick=\"DeleteFile('" + response + "')\"  class='delete'/>" + response + "</div>").appendTo('#UploadedFile');
            },
            onSubmit: function (file, ext) {
                if (!(ext && /^(jpeg|jpg|png|gif)$/i.test(ext))) {
                    alert('Invalid File Format.');
                    return false;
                }
                $('#UploadStatus').html("Uploading...");
                refreshImage();
                //var ses = '<%=Session["SESSION_ProImgID"].ToString() %>';
                //img.src = 'RefreshImage.ashx?ImageId=' + ses.toString();
            }
        });
    });
    function refreshImage() {
        var ses = '<%=Session["SESSION_ProImgID"].ToString() %>';
        var tmpSes = '<%=Session["SESSION_IMAGEPROFILEREFRESH"].ToString() %>'
        if (tmpSes == "2") {
            tmpCount = 1;
            document.getElementById("MainContent_ucUserDetails_hdSession").value = tmpCount;
            $('#UploadStatus').html("file has been uploaded sucessfully");
            var img = document.getElementById("<%=this.imgUserProfile.ClientID%>");
            img.src = 'udImageHandler.ashx?ImageId=' + ses.toString();<%=Session["SESSION_ProImgID"] = hdSession.Value%>;
            document.getElementById("lblSession").innerHTML = tmpSes.toString();
        }
        if (tmpSes == "1") {
            tmpCount = 2;
            document.getElementById("MainContent_ucUserDetails_hdSession").value = tmpCount;
            $('#UploadStatus').html("file has been uploaded sucessfully");
            var img = document.getElementById("<%=this.imgUserProfile.ClientID%>");
            img.src = 'RefreshImage.ashx?ImageId=' + ses.toString();<%=Session["SESSION_ImgID"] = hdSession.Value%>;
            document.getElementById("lblSession").innerHTML = tmpSes.toString();
        }

//If i do this the session stays 1 so the image doesn`t refresh

Example: does refresh the image..but only one time, so I'm hoping somebody knows a good solution/workarround..
    $(function () {
        new AjaxUpload('#udUploadButton', {
            action: 'WIUploadHandler.ashx',
            onComplete: function (file, response) {
                $("<div><img src='./Images/upload/btndelete.png' onclick=\"DeleteFile('" + response + "')\"  class='delete'/>" + response + "</div>").appendTo('#UploadedFile');
            },
            onSubmit: function (file, ext) {
                if (!(ext && /^(jpeg|jpg|png|gif)$/i.test(ext))) {
                    alert('Invalid File Format.');
                    return false;
                }
                $('#UploadStatus').html("Uploading...");
                var ses = '<%=Session["SESSION_ProImgID"].ToString() %>';
                img.src = 'RefreshImage.ashx?ImageId=' + ses.toString();
            }
        });
    });

Best regards,

 

Mark


Viewing all articles
Browse latest Browse all 5678

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>