asp.net 은 JS+form 폼 Post 와 Get 방식 으로 데 이 터 를 제출 합 니 다.

3163 단어 c#asp.netjspostget
최근 작업 에 서 는 JS+form 을 사용 하여 post 방식 으로 파일 을 업로드 하 는 방식 이 사용 되 었 습 니 다.프론트 데스크 는 Html input 으로 JS 방식 으로 서버 에 파일 을 업로드 하고 코드 를 구체 적 으로 볼 수 있 습 니 다.
프론트 페이지 는 aspx 웹 페이지 를 사용 하고 input 탭 을 사용 하 며 file 형식 을 사용 합 니 다.이 탭 은 runat="server"를 사용 하지 않 습 니 다.서버 컨트롤 을 사용 하지 않 습 니 다.여기에 iframe 라벨 을 추가 해 야 합 니 다.숨 기기;탭 을 설정 합 니 다.사용자 가 단 추 를 누 르 는 데 사용 하기;JS 함수 호출:Uploadfun();

 <div>
  <input type="file" id="FileUpLoad" name="FileUpLoad" style="width:140px;" />
  <a href="javascript:void(0);" rel="external nofollow" onclick="Uploadfun()">  </a>
 <iframe name="hidden_frame" id="hidden_frame" style="width:10%;display:none;"></iframe>
 </div>
JS 코드 는 다음 과 같 습 니 다.

function Uploadfun(){
      var _file = document.getElementById("FileUpLoad"); //         input    ID
      var _form = document.createElenent("form"); //    form
      document.body.appendChild(_form);//    form
      _form.encoding = "multipart/form-data"; //             post  2M     
      _form.method="post";//  POST  
      _form.action="../Service/FileSrv.aspx?Type=Client&CallFun=UploadFile"; //    Get  ,         Server   ;
      //              
      _form.target = "hidden_frame";
      var pos = _file.nextSibling;
      _form.appendChild(_file);
      _form.submit();
      pos.parentNode.insertBefore(_file,pos);
      document.body.renoveChild(_form);
    }
C\#층 코드:JS 코드 중의 form action 의 표지 입 니 다.FileSrv.aspx 의 배경 cs 코드 에서 우 리 는getquery방법 을 사용 하여 Get 방식 으로 전 달 된 인 자 를 얻 을 수 있 습 니 다.
이 예 에서 매개 변수 Type=Client 는 모듈 표지 이 고 CallFun 은 cs 코드 층 이 호출 할 응답 함 수 를 가리킨다.UploadFile();코드 는 다음 과 같 습 니 다:

private void UploadFile()
    {
      //
      //......    
      //
      HttpFileCollection files = HttpContext.Current.Request.Files;
      if(files.Count>0)
      {
        int lintTemp = files[0].FileName.LastIndexOf(".");//  input    file    ;
        string lstrFileType = string.Empty;
        string lstrContentType = string.Empty;
        if(lintTemp!=-1 &&files[0].FileName.Length>lintTemp+1)
        {
          lstrFileType = files[0].FileName.Substring(lintTemp+1).ToUpper();
        }
        if(lstrFileType.ToUpper()=="JPG")
        {
          if(files[0].ContentLength<10485760)
          {
           //                    !
            files[0].SaveAs(Server.MapPath("~/Files/")+"JPG1."+files[0].FileName.Substring(files[0].FileName.LastIndexOf(".")));
          }
        }
      }
      //
      //......    
      //
    }
총결산
이상 은 이 글 의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가 치 를 가지 기 를 바 랍 니 다.여러분 의 저희 에 대한 지지 에 감 사 드 립 니 다.더 많은 내용 을 알 고 싶다 면 아래 링크 를 보 세 요.

좋은 웹페이지 즐겨찾기