Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.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 计算图像';s尺寸/大小,无需下载_Android - Fatal编程技术网

Android 计算图像';s尺寸/大小,无需下载

Android 计算图像';s尺寸/大小,无需下载,android,Android,是否有任何方法可以在不从服务器下载的情况下获取图像的尺寸或大小 例如,如果图像位于 或者我想做一些计算,但我也想保存带宽。如果图像大小相当大,并且用户带宽不是很好,我想将图像排队等待以后 假设API不提供此类信息。不下载就无法计算图像大小。在NSURLConnection的DidReceiveResponse委托方法中,您将收到包含此类信息的响应。当且仅当已在服务器上设置这些选项时: 下面是映像的磁盘大小: - (void)connection:(NSURLConnection *)connec

是否有任何方法可以在不从服务器下载的情况下获取图像的尺寸或大小

例如,如果图像位于 或者我想做一些计算,但我也想保存带宽。如果图像大小相当大,并且用户带宽不是很好,我想将图像排队等待以后


假设API不提供此类信息。

不下载就无法计算图像大小。

在NSURLConnection的DidReceiveResponse委托方法中,您将收到包含此类信息的响应。当且仅当已在服务器上设置这些选项时:

下面是映像的磁盘大小:

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
    int state = [httpResponse statusCode];

    if (state >= 400 && state <600)
    {
         // something wrong happen
    }

    NSLog(@"Download Response : %@", [response description]);  // this shows all the info. available by server. 

    int file_size = [response expectedContentLength];
}
-(void)连接:(NSURLConnection*)连接didReceiverResponse:(nsurResponse*)响应
{
NSHTTPURLResponse*httpResponse=(NSHTTPURLResponse*)响应;
int state=[httpResponse statusCode];

如果(state>=400&&state我不知道这是否可能。但这是我的提示。您可以检查文件的大小。请参阅此处:

如果大小大于x,则将图像排队等待以后;-)

链接答案中的代码:

URL url = new URL("http://server.com/file.mp3");
URLConnection urlConnection = url.openConnection();
urlConnection.connect();
int file_size = urlConnection.getContentLength();

除非您有一个数据库存储此信息,否则这是不可能的。您想要mb大小和维度吗?让服务器为您这样做。您可以尝试获取Http响应的大小(mb)(内容长度)…或者如果您有ftp访问权…不,对不起,我没有代码…但是信息在HttpRequest的响应头中…就像Hasan83在他的回答中一样…代码取决于您发出Http请求的方式我能够检索
“内容长度”
正如您所建议的,但我有点困惑,因为磁盘上的图像大小是(418KB),但
的“内容长度”的结果是584字节。它真的有效吗?我测试的URL是图像的直接链接,就像如果您在浏览器上打开它,您将下载图像一样。可能服务器设置错误(不知道是否可能).但是,可能是服务器对图像进行了一些处理,添加了一些签名。这可能吗?这是我以前在服务器是windows时遇到的唯一不同之处。它的计算大小不同。因为mac中的kb是1024 b,windows中的kb是1000 b。差异不应该太大。图像的URL是指向图像的直接链接,就像在windows中打开它一样rowser您将下载图像。哪个链接?问题中的链接不会打开图像!不用担心。这是新用户评论帖子时提交的自动回复,很多链接都会失效,这意味着您的答案在这种情况下毫无用处,这只是一种预防措施:)