如何读取/提取multipart / form-data的内容?

时间:2014-06-11 13:30:46

标签: c# asp.net multipartform-data

我收到的是包含图片和字符串的multipart / form-data但我无法提取内容。

一个。下面的代码是读取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 个答案:

答案 0 :(得分: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脚本。这将保存文件和页面数据。