通过PHP将大型图像文件从android上传到MySQL BLOB并使用MulipartEntityBuilder()

时间:2016-12-05 19:29:04

标签: android mysql image multipartentity

我正在测试一种方法,通过该方法我可以将我的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服务器,因此可能无法访问服务器上的任何参数。

如果您需要任何其他信息,请与我们联系。

感谢任何输入。

0 个答案:

没有答案