2013-09-26 84 views
0

我有一個上傳控件和一個圖像框。當我上傳圖片時,我需要在框中顯示它。我的圖片上傳但未顯示在框中。在ASP.NET上傳圖像

上傳圖像的路徑返回如下。

〜/圖片/學生/ Student1.jpg

如何獲取路徑作爲

照片/學生/ Student1.jpg

我要上傳客戶端功能如下。

$.ajaxFileUpload({ 
         url: 'FileUpload.ashx?id=' + FileFolder + '&Mainfolder=Photos' + '&parentfolder=Student', 
         secureuri: false, 
         fileElementId: 'uplPhoto', 
         dataType: 'json', 
         success: function (data, status) { 

          if (typeof (data.error) != 'undefined') { 
           if (data.error != '') { 
            alert(data.error); 
           } else { 

            $('#hdnFullPhotoPath').val(data.upfile); 
            $('#uplPhoto').val(""); 
            $('#lblPhotoName').text('Photo uploaded successfully') 

            $('#Image1').attr('src', data.upfile); 
            alert(data.upfile); 
           } 
          } 


         }, 
         error: function (data, status, e) { 
          alert(e); 
         } 
        }); 
       } 

       else { 
        alert('The photo ' + filename + ' already exists'); 
        return false; 
       } 
      } 
     } 
     else { 
      alert('You can upload only jpg,jpeg,pdf,doc,docx,txt,zip,rar extensions files.'); 
     } 
     return false; 

    } 
+0

@ Aishvarya-你想從哪裏得到那條路?你想用它做什麼? – coder

+0

@Coder,我需要在Image Box中顯示上傳的圖像。 – MusicLovingIndianGirl

+0

你可以給你的服務器端代碼? – Nirmal

回答

0

在你FileUpload.ashx:

Dim fileName As String = System.IO.Path.GetFileName(FileUpload1.PostedFile.FileName) 
FileUpload1.PostedFile.SaveAs(Server.MapPath(("~/Photos/Student/" + fileName))) 

和圖像控件添加到您的形式,並從代碼隱藏調用它,如目錄名中一些會話值存儲,並得到它

Image1.ImageUrl = "~/Photos/Student/" & Session("tempDir").ToString & "/" & filename 
0

全部,感謝您的時間和幫助。代字號(〜)符號是問題 - 文件路徑無法識別。所以我修改了我的代碼以將其替換爲空白空間。

var orgpath = data.upfile; 
var photopath = orgpath.replace('~/', ''); 
$('#<%= ImgFacultyPhoto.ClientID%>').attr('src', photopath); 
+0

您是否確實知道'〜'符號的用途?這是表示當前ASP.NET應用程序的根,因此您可能需要運行'VirtualPathUtility.ToAbsolute(orgpath)'而不是刪除'〜'。顯然,這隻能在服務器端完成,因爲它是.NET代碼,而不是jQuery – freefaller

+0

@Freefaller,我知道這一點。我正在從客戶端處理它,因爲我不想將頁面回傳。 – MusicLovingIndianGirl

+0

然後將您的問題標記爲jQuery,而不是ASP.NET – freefaller