一些机器人上传乱码图像

前端之家收集整理的这篇文章主要介绍了一些机器人上传乱码图像前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

首先,我使用此代码将照片保存到Android的SD卡:

PictureCallback jpegCallback = new PictureCallback() {
        public void onPictureTaken(byte[] data,Camera camera) {

    FileOutputStream outStream = null;

    currentFilename = String.format("%d",System.currentTimeMillis());              
    outStream = new FileOutputStream("/sdcard/" + currentFilename + ".jpg");                    
    outStream.write(data);
    outStream.close();

    }
};

然后我使用此代码上传Android设备上的照片:

public void uploadPhoto() {

        try {

            // Create HttpPost
            HttpPost post = new HttpPost("http://www.example.com/upload.PHP");
            HttpClient client = new DefaultHttpClient();
            client.getParams().setParameter(CoreProtocolPNames.PROTOCOL_VERSION,HttpVersion.HTTP_1_1);
            MultipartEntity entity = new MultipartEntity( HttpMultipartMode.BROWSER_COMPATIBLE );

            // Add the Picture as "userfile"
            entity.addPart( "userfile",new FileBody( 
                new File( "/sdcard/",currentFilename + ".jpg" ),"image/jpeg")
            );


            // Send the data to the server
            post.setEntity( entity );
            client.execute( post );


        } catch (Exception e) {
            // catch
        } finally {
            // finally
        }

}

这适用于运行Android 2.2.2和运行Android 2.3.4的Droid X的LG Optimus V

但是 – 拥有运行2.3.4的HTC Evo(与我的Droid X相同)的用户正在体验到,当她们保存到手机时(以及当他们到达服务器时),她上传的所有照片都会被打乱.图像看起来像一串锯齿状的彩色线条.

关于这里可能发生什么以及可以采取哪些措施来解决问题的任何想法?

更新:

我能够访问这款手机,当我从sdcard中取出jpg文件时,它说文件大小为3.5 – 4.0 MB,但是它们无法打开并且可能已损坏……但另一方面的文件手机正常工作.

最佳答案
它看起来像图片大小的问题.当宽度和高度错误时,从阵列到图像的数据解码会导致图像混乱.

可以使用支持的屏幕尺寸拍摄照片:

Parameters params = camera.getParameters();
List

尝试设置其中一个,例如最大的,如图片大小:

List
原文链接:https://www.f2er.com/android/430643.html

猜你在找的Android相关文章