2

我想使用这样的表格上传文件:

<form action="http://127.0.0.1:8090/MyService/" 
      method="post" enctype="multipart/form-data">
  <p>Select File<br>
     <input name="Datei" type="file" size="50">
     <input type="submit" value="Submit">
  </p>
</form>

并有这样的 wcf 服务:

[ServiceContract]
public interface IDocumentConverter
{
    [OperationContract, WebInvoke(UriTemplate = "/", Method = "POST")]
    void UploadFile(Stream fileContents);         
}

我有两个问题。当我将流写回文件时,它不仅包含文件数据,还包含一些 http 内容。这似乎很奇怪。有没有很好的方法来获取原始文件数据?:

-----------------------------67832811011758
Content-Disposition: form-data; name="Datei"; filename="haha.jpg"
Content-Type: image/jpeg

ÿØÿà...

原始文件如下所示:

ÿØÿà...

其次,我想在 wcf 中有文件名。理想情况下是这样的:

[ServiceContract]
public interface IDocumentConverter
{
    [OperationContract, WebInvoke(UriTemplate = "/{filename}", Method = "POST")]
    void UploadFile(string filename, Stream fileContents);         
}

但这不起作用,因为我不知道如何使用表单/输入内容将文件名集成到 url 中。

4

0 回答 0