ServiceStack PostFIleWithRequest“具有”硬编码内容 - 处置名称字段

时间:2013-08-20 03:15:52

标签: upload servicestack hardcoded

PostFileWithRequest<>我遇到了问题ServiceStack中的方法,即文件字段的名称被硬编码为单词“upload”>

部分数据流

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)

有什么想法吗?

这看起来像是一个错误,作为表单数据的名称;名称应该是可配置的,而不是硬编码。

在我的情况下,我需要将文件名为“File”,以便使用特定的API。

克里斯

1 个答案:

答案 0 :(得分:1)

我向ServiceStack (虽然是v4)提交了pull request,该文件已被接受,并将包含在下一版本4.0.14中。

这为fieldName方法添加了PostFileWithRequest<TResponse>的可选参数,允许您指定字段名称,而不是卡在upload

所以方法的新签名:

public virtual TResponse PostFileWithRequest<TResponse>(string relativeOrAbsoluteUrl, Stream fileToUpload, string fileName, object request, string fieldName = "upload")