如何使用 NET CORE 和 Refit 上传文件

Mat*_*oso 3 c# xamarin.forms refit asp.net-core

当我使用邮递员发出请求时,我的 API 收到一个IList<IFormFile>.

使用 POSTMAN 请求

应用程序接口

我能如何使用Xamarin.Forms具有相同的请求REFIT

Ale*_*bov 10

您可以使用IEnumerable<StreamPart>上传文件列表:

public interface IApi
{
    [Multipart]
    [Post("/api/story/{id}/upload-images")]
    Task UploadImages(int id, [AliasAs("files")] IEnumerable<StreamPart> streams);
}
Run Code Online (Sandbox Code Playgroud)

然后你可以调用它:

var api = RestService.For<ISomeApi>("http://localhost:61468");
var files = new List<StreamPart>()
{
    new StreamPart(fileStream, "photo.jpg", "image/jpeg"),
    new StreamPart(fileStream2, "photo2.jpg", "image/jpeg")
};

await api.UploadImages(1, files);
Run Code Online (Sandbox Code Playgroud)

  • 如果它对任何人有帮助,文档位于:https://github.com/reactiveui/refit#multipart-uploads (2认同)