2013-09-26 2 views
0

나는 업로드 컨트롤과 이미지 상자가 있습니다. 이미지를 업로드 할 때 이미지를 상자에 표시해야합니다. 내 이미지가 업로드되지만 상자에 표시되지 않습니다.업로드 이미지 ASP.NET

업로드 된 이미지의 경로는 다음과 같이 반환됩니다.

~/사진/학생/Student1.jpg

어떻게

로 경로를 얻을 수 있습니까

사진/학생/Student1.jpg 업로드에 대한 나의 클라이언트 측 기능이

입니다 다음과 같이 당신의 FileUpload.ashx에서

$.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

@ 코더, 이미지 상자에 업로드 된 이미지를 표시해야합니다. – MusicLovingIndianGirl

+0

서버 측 코드를 제공 할 수 있습니까? – Nirmal

답변

0

:

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)'를 실행하려고합니다. 분명히 그것은 서버 측에서만 할 수 있습니다. jQuery가 아닌 .NET 코드이므로 – freefaller

+0

@Freefaller, 저도 알고 있습니다. 나는 페이지를 다시 게시하고 싶지 않기 때문에 클라이언트에서 처리하고 있습니다. – MusicLovingIndianGirl

+0

그런 다음 질문을 ASP.NET이 아닌 jQuery로 태그하십시오 – freefaller

관련 문제