- 浏览: 625432 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
oldrat:
引用Special cases aren't special ...
武汉大学开源技术俱乐部 技术交流 第1期 -
yzsunlight:
试了试 ,不行
Android Studio SDK Manager无法正常下载如何设置 -
qianjigui:
更全面的文档:http://www.5wpc.info/it/ ...
Ruby正则表达式操作参考 -
qianjigui:
Anddy 写道Anddy 写道tag是自动创建的吗? 能手动 ...
vim的跳转 -
Anddy:
Anddy 写道tag是自动创建的吗? 能手动创建吗? 在sh ...
vim的跳转
类似于Ruby,在上面调试成功后,将功能迁移到了Android应用上面。
import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import org.apache.http.protocol.HTTP; import android.util.Base64; import android.util.Log; /** * TODO FIX Check the file length, it's long not int.This may lead the * problem. * * @param fileName * @param url * @return */ public static boolean httpPostBase64(String fileName, String url) { try { File file = new File(fileName); FileInputStream in = new FileInputStream(file); byte[] buffer = new byte[(int) file.length() + 100]; int length = in.read(buffer); String data = Base64.encodeToString(buffer, 0, length, Base64.DEFAULT); HttpPost httpRequest = new HttpPost(url); /* * NameValuePair实现请求参数的封装 */ List<NameValuePair> params = new LinkedList<NameValuePair>(); params.add(new BasicNameValuePair("data", data)); /* 添加请求参数到请求对象 */ httpRequest.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8)); /* 发送请求并等待响应 */ HttpResponse httpResponse = new DefaultHttpClient() .execute(httpRequest); /* 若状态码为200 ok */ if (httpResponse.getStatusLine().getStatusCode() != 200) { Log.d("Code", httpResponse.getStatusLine().toString()); return false; } } catch (Exception e) { for(StackTraceElement s:e.getStackTrace()) Log.d("Exception",s.toString()); Log.d("Exception",e.getLocalizedMessage()); return false; } return true; }
评论
7 楼
qianjigui
2011-02-22
LuoYer 写道
还有一点,就是向下不兼容,用google提供的base64类,在1.0和2.2中间的版本,都被去掉不支持的。
老兄绝对是个高手啊,这么丰富的经验。谢谢提醒了。
6 楼
LuoYer
2011-02-22
还有一点,就是向下不兼容,用google提供的base64类,在1.0和2.2中间的版本,都被去掉不支持的。
5 楼
qianjigui
2011-02-19
毕竟红尘 写道
FileInputStream in = new FileInputStream(file); byte[] buffer = new byte[(int) file.length() + 100]; int length = in.read(buffer); String data = Base64.encodeToString(buffer, 0, length, Base64.DEFAULT);
你这个搞不定大文件,特别是在手机上,比如上M的。
基本思路是:大文件应该将文件base64编码到磁盘上,然后再通过http流来搞。
非常感谢你的提醒,大文件确实没有考虑到。
4 楼
qianjigui
2011-02-19
aa87963014 写道
...完全看不出有什么作用 上传就上传 还非要变成String 提交..
这个也算是情况特殊,我这边的数据保存后端是Google Form。
3 楼
aa87963014
2011-02-18
...完全看不出有什么作用 上传就上传 还非要变成String 提交..
2 楼
syluke
2011-02-18
毕竟红尘 写道
FileInputStream in = new FileInputStream(file); byte[] buffer = new byte[(int) file.length() + 100]; int length = in.read(buffer); String data = Base64.encodeToString(buffer, 0, length, Base64.DEFAULT);
你这个搞不定大文件,特别是在手机上,比如上M的。
基本思路是:大文件应该将文件base64编码到磁盘上,然后再通过http流来搞。
有道理。
1 楼
毕竟红尘
2011-02-18
FileInputStream in = new FileInputStream(file); byte[] buffer = new byte[(int) file.length() + 100]; int length = in.read(buffer); String data = Base64.encodeToString(buffer, 0, length, Base64.DEFAULT);
你这个搞不定大文件,特别是在手机上,比如上M的。
基本思路是:大文件应该将文件base64编码到磁盘上,然后再通过http流来搞。
发表评论
-
Android Studio SDK Manager无法正常下载如何设置
2014-06-02 10:29 5737一方面在/etc/hosts中设置: #Google主页 ... -
Android Dalvik VM GC options 命令控制参数
2014-04-06 10:19 2397} else if (strncmp(argv[i], & ... -
Android Binder 系统级使用demo
2014-03-18 22:27 1498Android System Binder Usage: 添 ... -
Android Smali第一次完整的见面
2014-01-06 22:46 2011Smali是Android Dalvik虚拟机的汇编语言. ... -
Android应用插件化与动态部署 学习
2013-12-26 16:45 0通过REST将相关服务有语义的组合起来。 动态部署: ... -
Android组件、通信与安全机制学习
2013-12-20 12:26 0现有问题: Android的组件间通信有哪些方法?其中的I ... -
Android root 原理学习
2013-12-15 23:51 2338学习资源: http://www.zhihu.com/qu ... -
Android PREBUILT APPS 运行dex preopt
2013-12-09 13:57 0主体思路是模仿package的preopt处理,对buil ... -
Android 设置/system/bin/cmd的权限遇到的问题
2013-11-25 16:17 2070Android开发的过程中,需要添加一些系统服务,而这些服 ... -
模块网络访问分析
2013-12-27 11:29 905上述工作,可以通过: 人工了解 主要是沟通成本太高 ... -
Android系统启动过程整体视图
2013-11-25 11:07 764整体如上图:分为三个系统体系: uboot Li ... -
将设备的部分分区dump出来
2013-11-20 14:25 814基本命名: dd if=/dev/block/mmcblk ... -
Android Build系统bash filename too long问题
2013-11-06 10:45 1488在对Android Build系统进行修改的过程中,可能会在 ... -
Android Compatibility zoom dialog 关闭
2013-11-04 13:53 1157代码在systemui中:base/packages/Sy ... -
Linux工作基本使用
2013-11-04 11:23 1007Mount相关 sudo apt-get install ... -
Android 4.2 init: skipping insecure file '/init.rc' 问题
2013-11-01 13:13 3539一个比较完整的分析见:http://blog.csdn.ne ... -
fastboot mmc及sf,nand使用
2013-10-25 14:05 2439fastboot# mmc mmc - MMC sub ... -
OTT盒子 Hisi 通过网络进行image烧写方法总结
2013-10-25 13:40 2858整体结构如上图,通过网络进行烧写时,整体上是通过tftp ... -
[转载]Android与Java签名机制与API
2013-10-11 17:00 1236签名的两种方式 利用keystore文件进行签名 ... -
Android 系统调试接口
2013-12-20 12:37 1454建议从理论学习: http://www.5wpc.in ...
相关推荐
在现代Web开发中,数据的传输和存储往往需要进行编码处理,其中Base64编码是一种常见的二进制到文本的转换方式,用于在网络上传输非ASCII字符。jQuery.base64是一个jQuery插件,专门用于在JavaScript环境中进行Base...
例如,在使用`URLSession`进行POST请求时,可以将图片转换为Base64字符串,并作为JSON对象的一部分发送。 四、Base64与安全 尽管Base64编码可以使得数据在传输过程中更易读,但它并不提供任何加密功能。因此,如果...
为了解决这个问题,我们可以将Base64编码的图片转换为Blob对象,并将其放入FormData对象中,然后通过AJAX提交。以下是如何实现这一过程的详细步骤: ### 第一步:Base64转Blob Base64编码的图片数据中包含了图片的...
通常,前端(如JavaScript)会将Base64编码后的图片字符串封装到JSON对象中,然后通过POST请求发送到后台。例如,创建一个包含"image"字段的JSON对象,其值为Base64字符串。在Java后台,可以使用如Jackson或Gson...
Base64是一种常见的二进制数据编码方案,主要用于在网络上传输8位字节码。它通过使用64个可打印字符(包括大写字母A-Z、小写字母a-z、数字0-9以及+和/符号)来表示二进制数据。Base64编码常用于电子邮件、URL、...
1. **Base64Util.java**:Base64是一种在网络上传输二进制数据时常用的编码方式,将图片或其他二进制文件转换为ASCII字符串。Base64Util类提供了对Base64编码和解码的方法,这对于将面部图像数据在网络上传输或存储...
ByteFileUtil提供文件按照二进制读写 FileUtil提供获取文件后缀名、修改文件的后缀名、删除文件或目录、根据流判断流的编码格式、获取文件的编码格式、创建文件、获得文件大小、创建文件目录 方法 OpenOfficeUtil...
3. **在线图片Base64转码**:Base64是一种将二进制数据编码为ASCII字符串的方法,常用于在HTTP协议中传输非ASCII字符。在线图片Base64转码工具可以将图片文件转换为Base64字符串,这样就可以直接在HTML中内嵌图片,...
Base64用于将二进制数据转化为ASCII文本,Quoted-printable则用于编码非打印字符,MIME(Multipurpose Internet Mail Extensions)则是一种扩展标准,它定义了多种编码方式,并规定了如何处理不同类型的附件。...
这里的`str_replace`函数用于移除Base64字符串的前缀,`base64_decode`函数将剩余部分解码为二进制数据,然后`file_put_contents`将这些数据写入名为`$name`的文件中。文件名通过`md5(time())`生成,确保每个文件名...
2、为了提高性能,Perl版的同步信息数据采用的是二进制存储,不兼容bash版的数据,但我提供了一个转换的命令,设置好配置文件后运行如下命令: syncy.pl convert 运行以上命令后就转换至新的数据格式,但是即使...