从 .NET Web API 2 服务发送图像到 Android Retrofit

Send Image from .NET Web API 2 Service to Android Retrofit

我在服务器上有一个图像存储在一个文件中(不是数据库)。我想在 Android Studio 的布局视图中显示此图像。我正在使用 Web API2 和改造来交换数据。

使用改造,我知道我需要发送封装在 class 中的文件。我不知道要创建什么类型? (字节数组?)以及 android 端的改造如何转换这种类型。我试图在双方都使用 byte[] 但是改造无法从 Json.

读取 byte[]

谁能指导我如何传输此 jpeg 图像?谢谢!

我最近实现了它。

这是我api中的方法。

[HttpPost]
public IHttpActionResult Upload()
{
    var httpRequest = HttpContext.Current.Request;
    if (httpRequest.Files.Count > 0)
    {
        foreach (string file in httpRequest.Files)
        {
            var postedFile = httpRequest.Files[file];
            // Do something with file.
        }
        else
        {
            // No files.
        }
    }

您要找的class是retrofit的TypedFileclass。 这是我的实现。

RestAdapter restAdapter = new RestAdapter.Builder().setEndpoint("baseurl").build();
ApiTaqueria api = restAdapter.create(ApiTaqueria.class);
TypedFile foto = new TypedFile("multipart/form-data", new File("path"));
api.subirLogoTaqueria(foto, new Callback<Taqueria>() {
    @Override
    public void success(Taqueria result, Response response) {
    // Do something.
    }

    @Override
    public void failure(RetrofitError retrofitError) {
    // Do something.
    }
});

改造界面中

@Multipart
@POST("/api/Photo/Upload")
public void subirLogoTaqueria(@Part("foto") TypedFile foto, Callback<Taqueria> callback);

编码愉快。