C# 将图像从sqlite发送到sqlserver时出现问题
当我将图像从sqlite数据库传输到SQLServer2005数据库时,字节[]未正确传输 我将图像作为文本数据类型存储在sqlite中,当我将图像从sqlite提取到android图像视图时,它会正确显示。当我将其传输到sqlserver并获取c#.net时,它就无法显示 我尝试这个代码 首先,我将图像存储在sqlite中。 //字节[]的生成C# 将图像从sqlite发送到sqlserver时出现问题,c#,android,sql-server,sqlite,sql-server-2005,C#,Android,Sql Server,Sqlite,Sql Server 2005,当我将图像从sqlite数据库传输到SQLServer2005数据库时,字节[]未正确传输 我将图像作为文本数据类型存储在sqlite中,当我将图像从sqlite提取到android图像视图时,它会正确显示。当我将其传输到sqlserver并获取c#.net时,它就无法显示 我尝试这个代码 首先,我将图像存储在sqlite中。 //字节[]的生成 protected void onActivityResult(int requestCode, int resultCode, Intent dat
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK) {
File imgFile = new File(Environment.getExternalStorageDirectory(),
"/MyImages/");
photo = BitmapFactory.decodeFile(imgFile.getAbsolutePath() + "/"
+ Const.dbSrNo + "image.jpg");
imageView2.setImageBitmap(photo);
ByteArrayOutputStream bao = new ByteArrayOutputStream(1000);
photo.compress(Bitmap.CompressFormat.PNG, 90, bao);
Toast.makeText(camerainfo.this, "a result" + photo, 20).show();
// save image as byte
byteImage_photo = bao.toByteArray();
}
}
//我使用以下代码发送到sqlite
//我使用下面的代码将其发送到sqlserver
=========================================================
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
HttpTransportSE androidHttpTransport = new HttpTransportSE(
URL, 70000);
request.addProperty("strQuery",
"exec SP_SAVE_androidSURVEYcamerainfo '" + Const.dbSrNo +
"','" + byteImage_photo + "','" + lat_s + "','" + lon_s +
"','" + date_s + "','" + time_s + "'");
Toast.makeText(camerainfo.this,request.getProperty(0).toString
(), 30).show();
Log.d("RESPONSE", "strQuery :" +
request.getProperty(0).toString()); Log.d("RESPONSE",
"step 2"); SoapSerializationEnvelope envelope = new
SoapSerializationEnvelope( SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request); Log.d("RESPONSE",
"step 3"); androidHttpTransport.call(SOAP_ACTION, envelope);
Log.d("RESPONSE", "step 4");
Toast.makeText(camerainfo.this, "inserted data.",
30).show();
//上面的代码存储以下数据
//sqlserver中我的列作为varbinary数据类型
0x5B004200400034003100640066003700320032003800
请帮帮我,我很努力,但没有成功。对不起,我的英语不好。。
谢谢您在sqlite中使用而不是将图像存储为文本,您可以将其存储为blob格式。
将blob数据传输到服务器时,请将blob数据更改为base64编码字符串格式。在服务器端,将base64格式更改为字节到图像。它对我来说很好。thanx velmurugan它对我来说很好…它存储base64而不是byte[]。
0x5B004200400034003100640066003700320032003800