小编Str*_*iVa的帖子

将文件从Html表单(multipart/form-data)上传到WCF REST服务作为流而不流式传输整个表单的输入?

我在将文件从Html上传到我的休息服务(WCF REST)时遇到了问题.在上传文件时,我想发送标题和说明等信息以及文件的内容.

所以,我创建了一个这样的测试表单:

<form id="testForm" action="http://localhost.:1576/NotepadService.svc/Note/91f6413c-4d72-42ca-a0f3-38df15759fc9/Attachment" method="POST" enctype="multipart/form-data">
        <table>
            <tr><td>Title:</td><td><input type="text" name="Title"></td></tr>
            <tr><td>Description:</td><td><input type="text" name="Description"></td></tr>
            <tr><td>Filename:</td><td><input type="text" name="Filename"></td></tr>
            <tr><td>File:</td><td><input type="file" name="Contents"></td></tr>
            <tr><td/><td><input type="submit" value="Send"></td></tr>
        </table>
    </form>
Run Code Online (Sandbox Code Playgroud)

服务器端,我想将其翻译为此方法:

[OperationContract]
        [WebInvoke(
            BodyStyle = WebMessageBodyStyle.Bare,
            Method = "POST",
            UriTemplate = "/Note/{noteId}/Attachment")]
        [Description("Add an attachment to a Note.")]
        void AddAttachmentToNote(string noteId, AttachmentRequestDto attachmentRequestDto);
Run Code Online (Sandbox Code Playgroud)

将AttachmentRequestDto定义为

[DataContract]
    public class AttachmentRequestDto
    {
         [DataMember]
         public string Title { get; set; }
         [DataMember]
         public string Description { get; set; }
         [DataMember]
         public string Filename { get; set; }
         [DataMember] …
Run Code Online (Sandbox Code Playgroud)

c# rest file-upload

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

c# ×1

file-upload ×1

rest ×1