android 通过webservice上传图片到数据库

android 通过webservice上传图片到数据库,第1张

因为soaddProperty("imgBytes",getbytePhoto)这句话webservice会把它当字符串,其实它不是,getbytePhoto是byte数组,所以你应该去掉

有两种方法,第一,把你的转成字节流,然后用post方法把字节流传到服务端,然后服务端接收到字节流之后,开启一个线程把它重新压缩成,保存在某个文件夹下面。

第二,开启一个线程,用socket直接把放到stream中传到服务端,服务端接收后保存到文件夹下。

保存一个url是个不错的方法,然后加载的时候就可以根据路径去生成一个bitmap对象,再把这个对象显示到组件上 。如果知道路径,那么显示时调用BitmapFactorydecodeFile(String pathName)这个方法就行,参数为一个路径字符串

android 将drawable中的保存到系统相册中的原理比较简单,获取到的bitmap,然后通过的compress方法写到一个fileoutputstream中 再通知MediaScannerService有文件加入就可以了

保存的核心代码如下:

Bitmap bitmap= BitmapFactorydecodeResource(getResources(), Rdrawableicon);

MediaStoreImagesMediainsertImage(contextgetContentResolver(), bitmap, name, "");

或者

FileOutputStream fos = openFileOutput("image", ContextMODE_PRIVATE);

bitmapcompress(BitmapCompressFormatJPEG, 100, fos);

fosflush();

fosclose();

//发送系统通知消息

contextsendBroadcast(new Intent(IntentACTION_MEDIA_MOUNTED, Uriparse("file://" + EnvironmentgetExternalStorageDirectory())));

另一种方法是直接使用文件流读写:

InputStream is = mContextgetResources()openRawResource(PicID);

FileOutputStream fos = new FileOutputStream(LogoFilePath);

byte[] buffer = new byte[8192];

int count = 0;

while((count=isread(buffer)) > 0)

{

foswrite(buffer, 0, count);

}

fosclose();

isclose();

这里要注意目录权限问题:在应用程序AndroidManifestxml中的manifest节点中加入android:sharedUerId="androiduidsystem"这个属性。然后放在源码环境中编译,并通过adb install 的方式进行安装。mk文件中的属性改为LOCAL_CERTIFICATE :=platform。

以上就是关于android 通过webservice上传图片到数据库全部的内容,包括:android 通过webservice上传图片到数据库、使用android上传图片到服务器,并且把图片保存到服务器的某个文件夹里、android开发: EditText中插入的相册图片如何保存在数据库里,查看的时候又如何读取等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9349010.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存