com.nostra13.universalimageloader.core.assist.ContentLengthInputStream Java Examples

The following examples show how to use com.nostra13.universalimageloader.core.assist.ContentLengthInputStream. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: BaseImageDownloader.java    From candybar with Apache License 2.0 6 votes vote down vote up
/**
 * Retrieves {@link InputStream} of image by URI (image is located in the network).
 *
 * @param imageUri Image URI
 * @param extra    Auxiliary object which was passed to {@link DisplayImageOptions.Builder#extraForDownloader(Object)
 *                 DisplayImageOptions.extraForDownloader(Object)}; can be null
 * @return {@link InputStream} of image
 * @throws IOException if some I/O error occurs during network request or if no InputStream could be created for
 *                     URL.
 */
protected InputStream getStreamFromNetwork(String imageUri, Object extra) throws IOException {
    HttpURLConnection conn = createConnection(imageUri, extra);

    int redirectCount = 0;
    while (conn.getResponseCode() / 100 == 3 && redirectCount < MAX_REDIRECT_COUNT) {
        conn = createConnection(conn.getHeaderField("Location"), extra);
        redirectCount++;
    }

    InputStream imageStream;
    try {
        imageStream = conn.getInputStream();
    } catch (IOException e) {
        // Read all data to allow reuse connection (http://bit.ly/1ad35PY)
        IoUtils.readAndCloseStream(conn.getErrorStream());
        throw e;
    }
    if (!shouldBeProcessed(conn)) {
        IoUtils.closeSilently(imageStream);
        throw new IOException("Image request failed with response code " + conn.getResponseCode());
    }

    return new ContentLengthInputStream(new BufferedInputStream(imageStream, BUFFER_SIZE), conn.getContentLength());
}
 
Example #2
Source File: BaseImageDownloader.java    From android-open-project-demo with Apache License 2.0 6 votes vote down vote up
/**
 * Retrieves {@link InputStream} of image by URI (image is located in the network).
 *
 * @param imageUri Image URI
 * @param extra    Auxiliary object which was passed to {@link DisplayImageOptions.Builder#extraForDownloader(Object)
 *                 DisplayImageOptions.extraForDownloader(Object)}; can be null
 * @return {@link InputStream} of image
 * @throws IOException if some I/O error occurs during network request or if no InputStream could be created for
 *                     URL.
 */
protected InputStream getStreamFromNetwork(String imageUri, Object extra) throws IOException {
	HttpURLConnection conn = createConnection(imageUri, extra);

	int redirectCount = 0;
	while (conn.getResponseCode() / 100 == 3 && redirectCount < MAX_REDIRECT_COUNT) {
		conn = createConnection(conn.getHeaderField("Location"), extra);
		redirectCount++;
	}

	InputStream imageStream;
	try {
		imageStream = conn.getInputStream();
	} catch (IOException e) {
		// Read all data to allow reuse connection (http://bit.ly/1ad35PY)
		IoUtils.readAndCloseStream(conn.getErrorStream());
		throw e;
	}
	return new ContentLengthInputStream(new BufferedInputStream(imageStream, BUFFER_SIZE), conn.getContentLength());
}
 
Example #3
Source File: BaseImageDownloader.java    From mobile-manager-tool with MIT License 6 votes vote down vote up
/**
 * Retrieves {@link java.io.InputStream} of image by URI (image is located in the network).
 *
 * @param imageUri Image URI
 * @param extra    Auxiliary object which was passed to {@link com.nostra13.universalimageloader.core.DisplayImageOptions.Builder#extraForDownloader(Object)
 *                 DisplayImageOptions.extraForDownloader(Object)}; can be null
 * @return {@link java.io.InputStream} of image
 * @throws java.io.IOException if some I/O error occurs during network request or if no InputStream could be created for
 *                     URL.
 */
protected InputStream getStreamFromNetwork(String imageUri, Object extra) throws IOException {
	HttpURLConnection conn = createConnection(imageUri, extra);

	int redirectCount = 0;
	while (conn.getResponseCode() / 100 == 3 && redirectCount < MAX_REDIRECT_COUNT) {
		conn = createConnection(conn.getHeaderField("Location"), extra);
		redirectCount++;
	}

	InputStream imageStream;
	try {
		imageStream = conn.getInputStream();
	} catch (IOException e) {
		// Read all data to allow reuse connection (http://bit.ly/1ad35PY)
		IoUtils.readAndCloseStream(conn.getErrorStream());
		throw e;
	}
	return new ContentLengthInputStream(new BufferedInputStream(imageStream, BUFFER_SIZE), conn.getContentLength());
}
 
Example #4
Source File: MyImageDownloader.java    From repay-android with Apache License 2.0 6 votes vote down vote up
/**
 * Retrieves {@link java.io.InputStream} of image by URI (image is located in the network).
 *
 * @param imageUri Image URI
 * @param extra    Auxiliary object which was passed to {@link com.nostra13.universalimageloader.core.DisplayImageOptions.Builder#extraForDownloader(Object)
 *                 DisplayImageOptions.extraForDownloader(Object)}; can be null
 * @return {@link java.io.InputStream} of image
 * @throws java.io.IOException if some I/O error occurs during network request or if no InputStream could be created for
 *                     URL.
 */
protected InputStream getStreamFromNetwork(String imageUri, Object extra) throws IOException {
	HttpURLConnection conn = createConnection(imageUri, extra);

	int redirectCount = 0;
	while (conn.getResponseCode() / 100 == 3 && redirectCount < MAX_REDIRECT_COUNT) {
		conn = createConnection(conn.getHeaderField("Location"), extra);
		redirectCount++;
	}

	InputStream imageStream;
	try {
		imageStream = conn.getInputStream();
	} catch (IOException e) {
		// Read all data to allow reuse connection (http://bit.ly/1ad35PY)
		IoUtils.readAndCloseStream(conn.getErrorStream());
		throw e;
	}
	return new ContentLengthInputStream(new BufferedInputStream(imageStream, BUFFER_SIZE), conn.getContentLength());
}
 
Example #5
Source File: BaseImageDownloader.java    From BigApp_WordPress_Android with Apache License 2.0 6 votes vote down vote up
/**
 * Retrieves {@link InputStream} of image by URI (image is located in the network).
 *
 * @param imageUri Image URI
 * @param extra    Auxiliary object which was passed to {@link DisplayImageOptions.Builder#extraForDownloader(Object)
 *                 DisplayImageOptions.extraForDownloader(Object)}; can be null
 * @return {@link InputStream} of image
 * @throws IOException if some I/O error occurs during network request or if no InputStream could be created for
 *                     URL.
 */
protected InputStream getStreamFromNetwork(String imageUri, Object extra) throws IOException {
	HttpURLConnection conn = createConnection(imageUri, extra);

	int redirectCount = 0;
	while (conn.getResponseCode() / 100 == 3 && redirectCount < MAX_REDIRECT_COUNT) {
		conn = createConnection(conn.getHeaderField("Location"), extra);
		redirectCount++;
	}

	InputStream imageStream;
	try {
		imageStream = conn.getInputStream();
	} catch (IOException e) {
		// Read all data to allow reuse connection (http://bit.ly/1ad35PY)
		IoUtils.readAndCloseStream(conn.getErrorStream());
		throw e;
	}
	if (!shouldBeProcessed(conn)) {
		IoUtils.closeSilently(imageStream);
		throw new IOException("Image request failed with response code " + conn.getResponseCode());
	}

	return new ContentLengthInputStream(new BufferedInputStream(imageStream, BUFFER_SIZE), conn.getContentLength());
}
 
Example #6
Source File: BaseImageDownloader.java    From Android-Universal-Image-Loader-Modify with Apache License 2.0 6 votes vote down vote up
/**
    * 通过图片的网络地址来获取图片流--当前图片通过网络获取
 * Retrieves {@link InputStream} of image by URI (image is located in the network).
 *
 * @param imageUri Image URI
 * @param extra    Auxiliary object which was passed to {@link DisplayImageOptions.Builder#extraForDownloader(Object)
 *                 DisplayImageOptions.extraForDownloader(Object)}; can be null
 * @return {@link InputStream} of image
 * @throws IOException if some I/O error occurs during network request or if no InputStream could be created for
 *                     URL.
 */
protected InputStream getStreamFromNetwork(String imageUri, Object extra) throws IOException {
	//创建网络连接
       HttpURLConnection conn = createConnection(imageUri, extra);
       //对于重定向进行判断判断,重定向的次数最大5次循环获取
	int redirectCount = 0;
	while (conn.getResponseCode() / 100 == 3 && redirectCount < MAX_REDIRECT_COUNT) {
		conn = createConnection(conn.getHeaderField("Location"), extra);
		redirectCount++;
	}
       //获取到图像流
	InputStream imageStream;
	try {
		imageStream = conn.getInputStream();
	} catch (IOException e) {
		// Read all data to allow reuse connection (http://bit.ly/1ad35PY)
		IoUtils.readAndCloseStream(conn.getErrorStream());
		throw e;
	}
	if (!shouldBeProcessed(conn)) {
		IoUtils.closeSilently(imageStream);
		throw new IOException("Image request failed with response code " + conn.getResponseCode());
	}
       //对图像流数据进行包装
	return new ContentLengthInputStream(new BufferedInputStream(imageStream, BUFFER_SIZE), conn.getContentLength());
}
 
Example #7
Source File: BaseImageDownloader.java    From MiBandDecompiled with Apache License 2.0 6 votes vote down vote up
protected InputStream getStreamFromNetwork(String s, Object obj)
{
    HttpURLConnection httpurlconnection = createConnection(s, obj);
    for (int i = 0; httpurlconnection.getResponseCode() / 100 == 3 && i < 5; i++)
    {
        httpurlconnection = createConnection(httpurlconnection.getHeaderField("Location"), obj);
    }

    InputStream inputstream;
    try
    {
        inputstream = httpurlconnection.getInputStream();
    }
    catch (IOException ioexception)
    {
        IoUtils.readAndCloseStream(httpurlconnection.getErrorStream());
        throw ioexception;
    }
    return new ContentLengthInputStream(new BufferedInputStream(inputstream, 32768), httpurlconnection.getContentLength());
}
 
Example #8
Source File: BaseImageDownloader.java    From candybar with Apache License 2.0 5 votes vote down vote up
/**
 * Retrieves {@link InputStream} of image by URI (image is located on the local file system or SD card).
 *
 * @param imageUri Image URI
 * @param extra    Auxiliary object which was passed to {@link DisplayImageOptions.Builder#extraForDownloader(Object)
 *                 DisplayImageOptions.extraForDownloader(Object)}; can be null
 * @return {@link InputStream} of image
 * @throws IOException if some I/O error occurs reading from file system
 */
protected InputStream getStreamFromFile(String imageUri, Object extra) throws IOException {
    String filePath = Scheme.FILE.crop(imageUri);
    if (isVideoFileUri(imageUri)) {
        return getVideoThumbnailStream(filePath);
    } else {
        BufferedInputStream imageStream = new BufferedInputStream(new FileInputStream(filePath), BUFFER_SIZE);
        return new ContentLengthInputStream(imageStream, (int) new File(filePath).length());
    }
}
 
Example #9
Source File: ChhApplication.java    From ChipHellClient with Apache License 2.0 5 votes vote down vote up
@Override
protected InputStream getStreamFromNetwork(String imageUri, Object extra) throws IOException {
    Request request = new Request.Builder().url(imageUri).build();
    ResponseBody responseBody = client.newCall(request).execute().body();
    InputStream inputStream = responseBody.byteStream();
    int contentLength = (int) responseBody.contentLength();
    return new ContentLengthInputStream(inputStream, contentLength);
}
 
Example #10
Source File: BaseImageDownloader.java    From Android-Universal-Image-Loader-Modify with Apache License 2.0 5 votes vote down vote up
/**
    * 通过图片路径获取图片流信息--该图片存在于本地文件系统中或者sdcard中
 * Retrieves {@link InputStream} of image by URI (image is located on the local file system or SD card).
 *
 * @param imageUri Image URI
 * @param extra    Auxiliary object which was passed to {@link DisplayImageOptions.Builder#extraForDownloader(Object)
 *                 DisplayImageOptions.extraForDownloader(Object)}; can be null
 * @return {@link InputStream} of image
 * @throws IOException if some I/O error occurs reading from file system
 */
protected InputStream getStreamFromFile(String imageUri, Object extra) throws IOException {
	String filePath = Scheme.FILE.crop(imageUri);
       //判断文件是否为Video文件
	if (isVideoFileUri(imageUri)) {
           //获取Video视频的缩略图流
		return getVideoThumbnailStream(filePath);
	} else {
           //获取文件流 并且使用ContentLengthInputStream进行包装
		BufferedInputStream imageStream = new BufferedInputStream(new FileInputStream(filePath), BUFFER_SIZE);
		return new ContentLengthInputStream(imageStream, (int) new File(filePath).length());
	}
}
 
Example #11
Source File: OkHttpImageDownloader.java    From Android-Universal-Image-Loader-Modify with Apache License 2.0 5 votes vote down vote up
@Override
protected InputStream getStreamFromNetwork(String imageUri, Object extra) throws IOException {
	Request request = new Request.Builder().url(imageUri).build();
	ResponseBody responseBody = client.newCall(request).execute().body();
	InputStream inputStream = responseBody.byteStream();
	int contentLength = (int) responseBody.contentLength();
	return new ContentLengthInputStream(inputStream, contentLength);
}
 
Example #12
Source File: OkHttpImageDownloader.java    From Slide with GNU General Public License v3.0 5 votes vote down vote up
@Override
protected InputStream getStreamFromNetwork(String imageUri, Object extra) throws IOException {
    Request request = new Request.Builder().url(imageUri).build();
    ResponseBody responseBody = Reddit.client.newCall(request).execute().body();
    InputStream inputStream = responseBody.byteStream();
    int contentLength = (int) responseBody.contentLength();
    return new ContentLengthInputStream(inputStream, contentLength);
}
 
Example #13
Source File: BaseImageDownloader.java    From WliveTV with Apache License 2.0 5 votes vote down vote up
/**
 * Retrieves {@link InputStream} of image by URI (image is located on the local file system or SD card).
 *
 * @param imageUri Image URI
 * @param extra    Auxiliary object which was passed to {@link DisplayImageOptions.Builder#extraForDownloader(Object)
 *                 DisplayImageOptions.extraForDownloader(Object)}; can be null
 * @return {@link InputStream} of image
 * @throws IOException if some I/O error occurs reading from file system
 */
protected InputStream getStreamFromFile(String imageUri, Object extra) throws IOException {
	String filePath = Scheme.FILE.crop(imageUri);
	if (isVideoFileUri(imageUri)) {
		return getVideoThumbnailStream(filePath);
	} else {
		BufferedInputStream imageStream = new BufferedInputStream(new FileInputStream(filePath), BUFFER_SIZE);
		return new ContentLengthInputStream(imageStream, (int) new File(filePath).length());
	}
}
 
Example #14
Source File: BaseImageDownloader.java    From BigApp_WordPress_Android with Apache License 2.0 5 votes vote down vote up
/**
 * Retrieves {@link InputStream} of image by URI (image is located on the local file system or SD card).
 *
 * @param imageUri Image URI
 * @param extra    Auxiliary object which was passed to {@link DisplayImageOptions.Builder#extraForDownloader(Object)
 *                 DisplayImageOptions.extraForDownloader(Object)}; can be null
 * @return {@link InputStream} of image
 * @throws IOException if some I/O error occurs reading from file system
 */
protected InputStream getStreamFromFile(String imageUri, Object extra) throws IOException {
	String filePath = Scheme.FILE.crop(imageUri);
	if (isVideoFileUri(imageUri)) {
		return getVideoThumbnailStream(filePath);
	} else {
		BufferedInputStream imageStream = new BufferedInputStream(new FileInputStream(filePath), BUFFER_SIZE);
		return new ContentLengthInputStream(imageStream, (int) new File(filePath).length());
	}
}
 
Example #15
Source File: BaseImageDownloader.java    From letv with Apache License 2.0 5 votes vote down vote up
protected InputStream getStreamFromNetwork(String imageUri, Object extra) throws IOException {
    HttpURLConnection conn = createConnection(imageUri, extra);
    int redirectCount = 0;
    while (conn.getResponseCode() / 100 == 3 && redirectCount < 5) {
        conn = createConnection(conn.getHeaderField(HttpRequest.HEADER_LOCATION), extra);
        redirectCount++;
    }
    try {
        return new ContentLengthInputStream(new BufferedInputStream(conn.getInputStream(), 32768), conn.getContentLength());
    } catch (IOException e) {
        IoUtils.readAndCloseStream(conn.getErrorStream());
        throw e;
    }
}
 
Example #16
Source File: BaseImageDownloader.java    From MiBandDecompiled with Apache License 2.0 4 votes vote down vote up
protected InputStream getStreamFromFile(String s, Object obj)
{
    String s1 = ImageDownloader.Scheme.FILE.crop(s);
    return new ContentLengthInputStream(new BufferedInputStream(new FileInputStream(s1), 32768), (int)(new File(s1)).length());
}
 
Example #17
Source File: BaseImageDownloader.java    From letv with Apache License 2.0 4 votes vote down vote up
protected InputStream getStreamFromFile(String imageUri, Object extra) throws IOException {
    String filePath = Scheme.FILE.crop(imageUri);
    return new ContentLengthInputStream(new BufferedInputStream(new FileInputStream(filePath), 32768), (int) new File(filePath).length());
}
 
Example #18
Source File: BaseImageDownloader.java    From mobile-manager-tool with MIT License 2 votes vote down vote up
/**
 * Retrieves {@link java.io.InputStream} of image by URI (image is located on the local file system or SD card).
 *
 * @param imageUri Image URI
 * @param extra    Auxiliary object which was passed to {@link com.nostra13.universalimageloader.core.DisplayImageOptions.Builder#extraForDownloader(Object)
 *                 DisplayImageOptions.extraForDownloader(Object)}; can be null
 * @return {@link java.io.InputStream} of image
 * @throws java.io.IOException if some I/O error occurs reading from file system
 */
protected InputStream getStreamFromFile(String imageUri, Object extra) throws IOException {
	String filePath = Scheme.FILE.crop(imageUri);
	return new ContentLengthInputStream(new BufferedInputStream(new FileInputStream(filePath), BUFFER_SIZE),
			(int) new File(filePath).length());
}
 
Example #19
Source File: MyImageDownloader.java    From repay-android with Apache License 2.0 2 votes vote down vote up
/**
 * Retrieves {@link java.io.InputStream} of image by URI (image is located on the local file system or SD card).
 *
 * @param imageUri Image URI
 * @param extra    Auxiliary object which was passed to {@link com.nostra13.universalimageloader.core.DisplayImageOptions.Builder#extraForDownloader(Object)
 *                 DisplayImageOptions.extraForDownloader(Object)}; can be null
 * @return {@link java.io.InputStream} of image
 * @throws java.io.IOException if some I/O error occurs reading from file system
 */
protected InputStream getStreamFromFile(String imageUri, Object extra) throws IOException {
	String filePath = Scheme.FILE.crop(imageUri);
	return new ContentLengthInputStream(new BufferedInputStream(new FileInputStream(filePath), BUFFER_SIZE),
			(int) new File(filePath).length());
}
 
Example #20
Source File: BaseImageDownloader.java    From android-open-project-demo with Apache License 2.0 2 votes vote down vote up
/**
 * Retrieves {@link InputStream} of image by URI (image is located on the local file system or SD card).
 *
 * @param imageUri Image URI
 * @param extra    Auxiliary object which was passed to {@link DisplayImageOptions.Builder#extraForDownloader(Object)
 *                 DisplayImageOptions.extraForDownloader(Object)}; can be null
 * @return {@link InputStream} of image
 * @throws IOException if some I/O error occurs reading from file system
 */
protected InputStream getStreamFromFile(String imageUri, Object extra) throws IOException {
	String filePath = Scheme.FILE.crop(imageUri);
	return new ContentLengthInputStream(new BufferedInputStream(new FileInputStream(filePath), BUFFER_SIZE),
			(int) new File(filePath).length());
}