通过url链接将图片上传oss图片显示不完整问题
问题:在之前通过链接上传图片的时候,都是先获取inputStream流,然后通过available()方法获取文件大小。但是通过这种方法获取到的文件大小是不准确的,因为这个时候文件还没有读取完全,所以获取到的文件大小是不完全的。而在使用oss上传时需要传文件大小的参数,方法: objectMetadata.setContentLength(file.length());
所以导致上传的文件只显示了一半不到。
解决方法:
URL url = new URL(img);
URLConnection openConnection = url.openConnection();
long contentLength = openConnection.getContentLengthLong();//获取图片的实际长度
inStream = openConnection.getInputStream();
使用.getContentLengthLong()这个方法获取文件的实际大小,然后再作为参数传递到oss上传的方法中