我正在使用我的设备收集数据,然后将其保存在本地sqlite数据库中。我现在尝试通过单击按钮将此数据库上载到远程服务器。 我已经能够上传整个数据库,但问题是无法查看内容,因为它们是使用UTF-8加密的(如果没有错)。当我打开上传的文件时,加密的文本以SQLite格式3开头,但其他输入的数据被加密。
以下是我实现上传的代码示例,如何将此文件解密回普通文本/字符?
public void doUpload(String filepath, String filename) {
HttpClient httpClient = new DefaultHttpClient();
try {
httpClient.getParams().setParameter("http.socket.timeout",new Integer(90000));
post = new HttpPost(new URI("http://10.0.2.2:8080/Force/sync"));
File file = new File(filepath);
FileEntity entity;
if (filepath.substring(filepath.length() - 2, filepath.length()).equalsIgnoreCase("db" || filepath.substring(filepath.length() - 3, filepath.length()).equalsIgnoreCase("log")) {
entity = new FileEntity(file, "text/plain; charset=\"SQLite format 3\"");
entity.setChunked(true);
} else {
entity = new FileEntity(file, "binary/octet-stream");
entity.setChunked(true);
}
post.setEntity(entity);
post.addHeader(filepath, filename);
HttpResponse response = httpClient.execute(post);
if (response.getStatusLine().getStatusCode() != HttpStatus.SC_OK) {
} else {
// Here every thing is fine.
}
HttpEntity resEntity = response.getEntity();
if (resEntity == null) {
}
} catch (Exception ex) {
ex.printStackTrace();
} finally {
httpClient.getConnectionManager().shutdown();
}
}
点击上传按钮调用此代码,url调用处理上传文件的servlet(sync)。
我会感激任何asist。 问候。