我正在测试一种方法,通过该方法我可以将我的Android设备上可用的图像上传到mySQL表的BLOB字段中。我遇到的几个帖子谈到了更广泛的观点,但我无法将它们全部捆绑在一起。
这是我的代码的一部分。这是用新的服务线程编写的。
try {
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
builder.addTextBody(StaticVariables.filename, fileNames[i]);
//builder.addBinaryBody(StaticVariables.image, new File (getExternalCacheDir().getParent() + File.separator + StaticVariables.bills + File.separator + fileNames[i]));
builder.addTextBody(StaticVariables.image, getStringImage(Uri.fromFile(new File(getExternalCacheDir().getParent() + File.separator + StaticVariables.bills + File.separator + fileNames[i]))));
httppost.setEntity(builder.build());
HttpResponse response = httpClient.execute(httppost);
entity = response.getEntity();
String line = StaticVariables.emptyString;
InputStream instream = entity.getContent();
BufferedReader obr = new BufferedReader(new InputStreamReader(instream));
while ((line = obr.readLine()) != null) {
confirmed.add(line);
}
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
我现在面临的主要问题是,在执行时,会出现异常,其中声明 " 413:请求实体太大"。 如果我以二进制格式(注释的代码行)或文本格式传递文件,则会发生这种情况。
将图像写入服务器文件夹的解决方案已由我完成,但我很想知道是否有某种方法可以将它们直接放到数据库中。
我应该分享的其他信息是我正在运行一个非常基本的godaddy服务器,因此可能无法访问服务器上的任何参数。
如果您需要任何其他信息,请与我们联系。
感谢任何输入。