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);         
}

これには2つの問題があります。ストリームをファイルに書き戻すと、ファイル データだけでなく、いくつかの 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