2014-06-11 3 views
0

이미지와 문자열이 포함되어 있지만 콘텐츠를 추출 할 수없는 다중 부분/양식 데이터가 나타납니다.multipart/form-data의 내용을 읽거나 추출하는 방법은 무엇입니까?

A. 코드는 아래 string 콘텐츠를 읽고 있지만 단지 문자열이 화상보다 먼저 첨부 때 판독 아래 부호 (B)로 화상을 판독 아무것도에게

string expenseid = context.Request["ExpenseID"]; 

B. 코드를 반환 아래 이미지를 읽는 중입니다. 그러나 이미지가 처음 추가 될 때만 읽으며 위 코드 (A)로 문자열을 읽는 것은 아무 것도 반환하지 않습니다.

HttpPostedFile uploadedfile = context.Request.Files[0]; 
string ext = System.IO.Path.GetExtension(uploadedfile.FileName); 

나는 string와 이미지가 포함 된 다중/폼 데이터의 내용의 적절한 읽기를 알고 싶습니다.

+1

정규 양식에서이 소식을 받고 있습니까? 그렇다면 문제가 무엇인지 잘 모르겠습니다. Request.Form 컬렉션에는 POST 된 데이터의 모든 필드가 포함되며 Request.Files에는 모든 파일이 포함됩니다. – HaukurHaf

+0

질문에 양식을 넣으십시오 – jgauffin

답변

0

파일 및 다른 일부 필드를 보내야하는 스크립트입니다.

<div> 

          <form id="frmPage" class="form-horizontal"> 
           <div class="form-body"> 

            <div class="form-group"> 
             <label id="lblImage" class="col-md-3 control-label">Upload File</label> 
             <div class="col-md-4"> 
              <input type="file" id="fileToUpload" name="file" /> 

             </div> 
            </div> 



           <div class="modal-footer" style="margin-top: 0px"> 
            <div class="pull-right"> 
             <button type="submit" id="btnSave" class="btn blue Save">Save</button> 
            </div> 
           </div> 
          </form> 
         </div> 

여기 :

//Purpose: Form Submit: SAVE (Here the file plus form data is saved 
     document.getElementById('frmPage').onsubmit = function (e) { 
      debugger; 
      var file = document.getElementById('fileToUpload').files[0]; 
      var filename; 
      if (file) { 
       filename = file.name; 
      } 
      else { 
       filename = ""; 
      } 
      $('#Image').val(filename); 
      var formObj = $(this); 
      var formURL = '@Url.Action("SaveMethod", "ControllerName")'; 
      var formData = new FormData(this); 
      $.ajax({ 
       url: formURL, 
       type: 'POST', 
       data: formData, 
       mimeType: "multipart/form-data", 
       contentType: false, 
       cache: false, 
       processData: false, 
       success: function (data, textStatus, jqXHR) { 
        debugger; 

        alert("Client saved successfully"); 
       }, 
       error: function (jqXHR, textStatus, errorThrown) { 
       } 
      }); 
      e.preventDefault(); //Prevent Default action. 
     } 

디자인입니다 btnSave 유형을 제출, 그래서는 특정 양식을 제출합니다. frmPage라는 폼은 우리가 추가 한 jquery 스크립트를 수행 할 것이다. 그러면 파일과 페이지 데이터도 저장됩니다.

+0

와우! 고마워요. 매우 유익했습니다. 문자열과 이미지가 포함 된 데이터는 IOS에서 전송됩니다. 나는 웹 서비스를 통해 그것을 받고 있는데, 나는 문자열과 이미지를 동시에 읽는데 어려움을 겪었다. – user3730194

+0

좋아, iOS 앱이 기본 이니? 그렇다면 나는 내가 사용한 코드를 가지고있다. – TechGirl

+0

저는 Xcode 5를 사용하고 있습니다. 저는 문자열과 이미지로 IOS에서 sendpost를 할 수 있고 multipart/form-data를 C#의 웹 서비스에 보냅니다. C#에서 데이터의 내용을 읽는 것은 나의 장애물입니다 :) 감사합니다 .. – user3730194

관련 문제