ファイル フィールドの名前が「upload」という単語にハード コードされているという点で、ServiceStack の PostFileWithRequest<> メソッドに問題があります。
データ ストリームの一部
Content-Disposition: form-data;name="upload";filename="Julie.mp3"
これは、ファイル ServiceClientBase.cs の 407 行目からのものです。
stream.Write("Content-Disposition: form-data;name=\"{0}\";filename=\"{1}\"{2}{3}".FormatWith(new object[] { "upload", fileName, text, text }));
これは仮想メソッドに含まれていますが、新しいクラスにアクセスできない他のメソッドがあるため、派生クラスでそれを変更する方法がわかりません。
public virtual TResponse PostFileWithRequest<TResponse>(string relativeOrAbsoluteUrl, Stream fileToUpload, string fileName, object request)
何か案は?
form-data;name の名前は構成可能で、ハードコードされていない必要があるため、これは私にはバグのように見えます。
私の場合、特定の API を使用するには、ファイルを「File」という名前にする必要があります。
クリス