【发布时间】:2015-11-03 15:23:11
【问题描述】:
我需要将一个大文件从 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)
你有什么想法吗?
【问题讨论】:
-
为什么要向服务器发送 35MB 的文件?你能解释一下场景吗?什么样的大文件?
-
@IshArt 这是一个.db文件,我想转移到服务器上备份。
-
如果是databae文件则查询上传,一次一到五行,否则增加连接时间,
-
@IshArt 我不想在另一个数据库中复制该行。是一个本地数据库,用于备份(用户在机器下破坏了平板电脑)我想每天在我的服务器上传输。
标签: java android rest android-annotations