2014-06-11 84 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-ed數據中的所有字段,並且Request.Files將包含所有文件。 – HaukurHaf

+0

包括問題中的表格 – jgauffin

回答

0

您需要發送文件和其他字段的腳本。

//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. 
     } 

這是設計:

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

這裏:該btnSave是提交類型,所以它會提交特定形式。名爲frmPage的表單將執行我們添加的jquery腳本。這將保存文件和頁面數據。

+0

哇!謝謝,這是非常豐富的。包含字符串和圖像的數據從IOS發送。我通過web服務接收它,並且難以同時讀取字符串和圖像。 – user3730194

+0

好的,iOS應用程序本身也是如此?如果是這樣,我確實有一些我認爲我已經使用過的代碼。 – TechGirl

+0

我正在使用Xcode 5.我能夠在IOS中發送字符串和圖像,並將多部分/表單數據發送到C#中的Web服務。但是閱讀C#中數據的內容是我的障礙:)謝謝.. – user3730194