gpt4 book ai didi

java - 如何使用 AndroidAnnotation 将大文件从 Android 发送到服务器?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:24:27 24 4
gpt4 key购买 nike

我需要从 Android 平板电脑向服务器发送一个大文件。

所以现在我正在使用 Android Annotation 来执行此操作,但现在我得到了 OutOfMemory Exception 因为我的文件大于 35MB。我搜索了一下,我明白如果我将 FileOutputStream 与连接一起使用,我可以避免该异常。

但是如何使用 @Rest AndroidAnnotation Class 从我的连接中获取输出流?

这是我的代码:

@Rest(converters = {FormHttpMessageConverter.class, MappingJackson2HttpMessageConverter.class}
/*, interceptors=MyClientHttpRequestInterceptor.class*/)
public interface DbRestClient extends RestClientErrorHandling{

void setRootUrl(String rootUrl);

String getRootUrl();

void setRestTemplate(RestTemplate restTemplate);

RestTemplate getRestTemplate();

@Post("dbSynk/postNew")
Integer postDb(MultiValueMap file);
}

然后进入我的@EService:

@RestService DbRestClient dbRestClient;

...

dbRestClient.postDb(file)

你有什么想法吗?

最佳答案

使用@PartFormHttpMessageConverter

常用的MappingJackson2HttpMessageConverter将整个文件加载到内存中,同时将文件转换为JSON。使用 FormHttpMessageConverter 它将流式传输文件内容而不是将其加载到内存中。

关于java - 如何使用 AndroidAnnotation 将大文件从 Android 发送到服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31941134/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com