Commons FileUpload Android上传框架
android 里的文件上传,说简单也简单,说麻烦也挺麻烦的。要说靠谱又经典的方案,commons-fileupload.jar算是老牌选手了。它是 Apache 出品,专门搞 HTTP 上传这一块,用起来还挺顺的。
这种框架在 Android 里用其实也能玩,只不过不像 Web 端那么直接。你得自己拼HttpURLConnection
或者搭配HttpClient
来整 POST 求,把文件传出去。而服务端再用ServletFileUpload
来接,配合FileItemFactory
就能搞定。
举个例子,你可以这样:
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List items = upload.parseRequest(request);
for (FileItem item : items) {
if (!item.isFormField()) {
String fileName = item.getName();
InputStream fileContent = item.getInputStream();
// 文件写入服务器逻辑...
}
}
啦,在 Android 上用得比较多的还是OkHttp
或者Retrofit
这些现代库,写法更清爽,响应也快。不过如果你项目本身就是基于commons
生态的,或者服务器那边就是用commons-fileupload
的,那这个方案还挺搭的。
记得好几个点:先加好INTERNET
权限,注意文件大小,最好加个上传进度条,用户体验更好;再就是异常别省,上传失败了怎么提醒、重试,安全加密也别忘了。
如果你正在做 Android 上传功能,又刚好用的是老项目,那commons-fileupload.jar
这个组合值得一试;如果你想要更现代的写法,那去看看OkHttp
和Retrofit
也不错。
182.67KB
文件大小:
评论区