Back to project page android-ribbit-design.
The source code is released under:
MIT License
If you think the Android project android-ribbit-design listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package com.teamtreehouse.ribbit.utils; /*ww w . ja v a 2 s.c o m*/ import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import org.apache.commons.io.IOUtils; import android.content.Context; import android.graphics.Bitmap; import android.net.Uri; import android.util.Log; public class FileHelper { public static final String TAG = FileHelper.class.getSimpleName(); public static final int SHORT_SIDE_TARGET = 1280; public static byte[] getByteArrayFromFile(Context context, Uri uri) { byte[] fileBytes = null; InputStream inStream = null; ByteArrayOutputStream outStream = null; if (uri.getScheme().equals("content")) { try { inStream = context.getContentResolver().openInputStream(uri); outStream = new ByteArrayOutputStream(); byte[] bytesFromFile = new byte[1024*1024]; // buffer size (1 MB) int bytesRead = inStream.read(bytesFromFile); while (bytesRead != -1) { outStream.write(bytesFromFile, 0, bytesRead); bytesRead = inStream.read(bytesFromFile); } fileBytes = outStream.toByteArray(); } catch (IOException e) { Log.e(TAG, e.getMessage()); } finally { try { inStream.close(); outStream.close(); } catch (IOException e) { /*( Intentionally blank */ } } } else { try { File file = new File(uri.getPath()); FileInputStream fileInput = new FileInputStream(file); fileBytes = IOUtils.toByteArray(fileInput); } catch (IOException e) { Log.e(TAG, e.getMessage()); } } return fileBytes; } public static byte[] reduceImageForUpload(byte[] imageData) { Bitmap bitmap = ImageResizer.resizeImageMaintainAspectRatio(imageData, SHORT_SIDE_TARGET); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.PNG, 100, outputStream); byte[] reducedData = outputStream.toByteArray(); try { outputStream.close(); } catch (IOException e) { // Intentionally blank } return reducedData; } public static String getFileName(Context context, Uri uri, String fileType) { String fileName = "uploaded_file."; if (fileType.equals(ParseConstants.TYPE_IMAGE)) { fileName += "png"; } else { // For video, we want to get the actual file extension if (uri.getScheme().equals("content")) { // do it using the mime type String mimeType = context.getContentResolver().getType(uri); int slashIndex = mimeType.indexOf("/"); String fileExtension = mimeType.substring(slashIndex + 1); fileName += fileExtension; } else { fileName = uri.getLastPathSegment(); } } return fileName; } }