我正在尝试将使用我的相机拍摄的图像发布到将脚本保存到MySQL表格的PHP脚本中。
Bitmap bm = BitmapFactory.decodeFile(imageurl);
StringBuilder postDataBuilder = new StringBuilder();
postDataBuilder.append("[Notas]").append("=").append(URLEncoder.encode(etReclamo.getText().toString(), Constants.UTF8));
postDataBuilder.append("&").append("image").append("=").append(URLEncoder.encode(getStringImage(bm), Constants.UTF8));
final byte[] postData = postDataBuilder.toString().getBytes(Constants.UTF8);
new AsyncTask(){
@Override
protected Object doInBackground(Object[] params) {
try{
URL url = new URL(Constants.URL_RECLAMO);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setUseCaches(false);
conn.setFixedLengthStreamingMode(postData.length);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
OutputStream out = conn.getOutputStream();
out.write(postData);
InputStream is = conn.getInputStream();
resultado = IOUtils.toString(is);
out.close();
int status = conn.getResponseCode();
if (status == 200) {
handler.sendEmptyMessage(RESPUESTA_HTTP_EXITO);
} else {
handler.sendEmptyMessage(RESPUESTA_HTTP_ERROR);
throw new IOException("Request failed with error code "
+ status);
}
} catch (IOException e) {
Log.e("RECLAMO", "IOError");
}
return null;
}
}.execute(null, null, null);
}
发送字符串没有问题,但我不能存储超过64KB。 为什么?
我在MySQL中尝试过BLOB和TEXT类型。 发送而不发送流长度。
答案 0 :(得分:1)
RTM? http://dev.mysql.com/doc/refman/5.7/en/storage-requirements.html
Data Type Storage Requirement
Blob, Text L + 2 bytes, where L < 2**16
Blob
是一个16位字段,这意味着它有64k的大小限制