- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试实现一个包含从 Dropbox 下载文件的应用程序。看起来有一个简单直接的框架可以做到这一点(CloudRail)。但是当我尝试使用下载的文件(在本例中为图像)时代码崩溃,这是示例:
self.dropboxInstance = [[Dropbox alloc] initWithClientId:self.authDic[@“————“] clientSecret:self.authDic[@“————“]];
id returnObject = [self.dropboxInstance downloadWithFilePath:@“/pictures/001.png“];
UIImage * image = [UIImage imageWithData:object]; // CRASH HERE
最佳答案
首先,该方法的返回类型是一个NSInputStream,可以用来读取你下载的文件的内容。
代码不起作用的原因是因为您将其视为 NSData 类型。
因此,解决方案是首先从作为返回接收的流中读取所有内容,将其存储在 NSData 对象中,然后从数据创建 UIImage。
self.dropboxInstance = [[Dropbox alloc] initWithClientId:self.authDic[@“————“] clientSecret:self.authDic[@“————“]];
id returnObject = [self.dropboxInstance downloadWithFilePath:@“/pictures/001.png“];
//NEW CODE
NSInputStream * inputStream = returnObject;
[inputStream open];
NSInteger result;
uint8_t buffer[1024]; // buffer of 1kB
while((result = [inputStream read:buffer maxLength:1024]) != 0) {
if(result > 0) {
// buffer contains result bytes of data to be handled
[data appendBytes:buffer length:result];
} else {
// The stream had an error. You can get an NSError object using [iStream streamError]
if (result<0) {
[NSException raise:@"STREAM_ERROR" format:@"%@", [inputStream streamError]];
}
}
}
//END NEWCODE
UIImage * image = [UIImage imageWithData:data]; // NO CRASH ANYMORE :)
关于cloudrail - 使用 CloudRail 进行简单下载失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37886427/
我正在尝试实现一个包含从 Dropbox 下载文件的应用程序。看起来有一个简单直接的框架可以做到这一点(CloudRail)。但是当我尝试使用下载的文件(在本例中为图像)时代码崩溃,这是示例: sel
我正在尝试在我的java桌面应用程序中使用cloudrail SDK进行测试, 但我在 cloudrailsite 中运行示例代码时遇到问题; 以下代码是主类: public class Dropbo
我们使用 CloudRail 实现了与云提供商的一些连接。 对于大多数(Google Drive、Box、Dropbox 和 OneDrive),我们会被要求提供用户名和密码,然后在每次连接时允许访问
我们使用 CloudRail 实现了与云提供商的一些连接。 对于大多数(Google Drive、Box、Dropbox 和 OneDrive),我们会被要求提供用户名和密码,然后在每次连接时允许访问
我尝试遵循此CloudRail 样本。 这是我的代码: OneDrive client = new OneDrive(new LocalReceiver(8082), CLIENT_ID, CLIEN
我正在使用 CloudRail 将文件从 Dropbox 上传/下载到我的 Android 设备。我不知道如何实现 upload或 download方法。在创建要上传的简单 files.txt 时,我
我正在编写一个 Android 应用程序以通过 CloudRail 服务访问 Google Drive Photos。我可以通过相关 Google 帐户的身份验证并查看我在 Google 云端硬盘中的
我正在使用 cloudrail Node.Js v2.17.3。 我必须在 OneDrive API 上执行高级请求。 身份验证部分和获取/存储凭据已成功。这是我必须做的请求(根据 OneDrive
我大家都在用CloudRail Android SDK使用此代码从我的 Android 应用程序在 Facebook 和 Twitter 上发帖: final Social facebook = ne
从昨天开始,我无法使用 Android CloudRail 集成登录 Dropbox 帐户。我的代码很简单: CloudRail.setAppKey([License Key]); final Clo
我是一名优秀的程序员,十分优秀!