Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法将较大(大小)的图像从android应用程序上载到数据库_Android_Rest_Jersey - Fatal编程技术网

无法将较大(大小)的图像从android应用程序上载到数据库

无法将较大(大小)的图像从android应用程序上载到数据库,android,rest,jersey,Android,Rest,Jersey,我正在调用使用jersey和POST请求生成的RESTAPI,并将我的文件作为一个多部分实体 File file=new File(mImageUri.getPath()); MultipartEntity multipartEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE); multipartEntity.addPart("image", new FileBody(file)); 当图像的大小相对较小(大

我正在调用使用jersey和POST请求生成的RESTAPI,并将我的文件作为一个多部分实体

File file=new File(mImageUri.getPath());
MultipartEntity multipartEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE); 

multipartEntity.addPart("image", new FileBody(file));

当图像的大小相对较小(大约小于1MB)时,我的代码可以正常工作,但对于较大的图像则无法正常工作。

您必须将图像缩小到缩略图大小

根据:

例如,将1024x768像素的图像加载到内存中是不值得的 如果最终以128x96像素的缩略图显示在 ImageView


阅读SO帖子。

这似乎是服务器端的问题。在服务器端检查是否设置了任何限制,因为默认情况下,服务器端内部对上传图像或视频(如2mb或3MB)有限制。

但我需要上传高质量的图像。就像用户可以在Olxy中上传图像一样,您可以将图像缩小到足够大的尺寸,而不需要使用太多内存。所有图像格式(jpg、png等)都转换为位图,以便Android能够处理它们。但Android无法处理大型位图(这是硬件限制)。例如,分辨率为2048x1536的图像在inSampleSize为4的情况下解码后生成约为512x384的位图。将其加载到内存中会使用0.75MB而不是12MB的完整图像(假设位图配置为ARGB_8888),我建议您阅读文档:好的,明白了:)但是有没有办法上传更大的图像而不更改其分辨率到我的数据库?当然!这与上传x显示无关。我认为这是一个服务器限制!您的页面是否在PHP上运行?