Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.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
Iphone 使用FBConnect在Facebook上发布图像_Iphone_Facebook_Ios5 - Fatal编程技术网

Iphone 使用FBConnect在Facebook上发布图像

Iphone 使用FBConnect在Facebook上发布图像,iphone,facebook,ios5,Iphone,Facebook,Ios5,我想使用fbconnect在facebook上发布图像 我已经写了以下几行代码,但是我应该对我的代码做些什么来在facebook上发布图片呢 - (void) postOnPage { [self saveAccessTokenKeyInfo]; NSString *imgStr=@"hello"; NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:

我想使用fbconnect在facebook上发布图像

我已经写了以下几行代码,但是我应该对我的代码做些什么来在facebook上发布图片呢

- (void) postOnPage
{
    [self saveAccessTokenKeyInfo];

    NSString *imgStr=@"hello";

    NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                   @"Hat Application", @"name",
                                   @"http://www.idhats.com/", @"link",
                                   @"HatApp", @"caption",
                                   imgStr, @"picture",
                                   nil];

    [facebook dialog:@"feed" andParams:params andDelegate:self];

}
谢谢…

-(作废)上传照片{
- (void)uploadPhoto{
NSMutableDictionary *args = [[NSMutableDictionary alloc] init];
UIImage *img = [UIImage imageNamed:@"picture1.jpg"];
NSData *data = UIImageJPEGRepresentation(img, 10);
//NSData *data = UIImagePNGRepresentation(img);
NSString *imgstr = [data base64Encoding];
//NSString *imgstr = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
//[args setObject:[UIImage imageNamed:@"antartica1.png"] forKey:@"image"];   
[args setObject:imgstr forKey:@"image"];    // 'images' is an array of 'UIImage' objects
uploadimgrequest = [FBRequest requestWithDelegate:self];
[uploadimgrequest call:@"photos.upload" params:args dataParam:data];
//[uploadimgrequest call:@"photos.upload" params:args];
}

-(NSString *)Base64Encode:(NSData *)data{
//Point to start of the data and set buffer sizes
int inLength = [data length];
int outLength = ((((inLength * 4)/3)/4)*4) + (((inLength * 4)/3)%4 ? 4 : 0);
const char *inputBuffer = [data bytes];
char *outputBuffer = malloc(outLength);
outputBuffer[outLength] = 0;

//64 digit code
static char Encode[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";

//start the count
int cycle = 0;
int inpos = 0;
int outpos = 0;
char temp;

//Pad the last to bytes, the outbuffer must always be a multiple of 4
outputBuffer[outLength-1] = '=';
outputBuffer[outLength-2] = '=';

/* http://en.wikipedia.org/wiki/Base64
 Text content   M           a           n
 ASCII          77          97          110
 8 Bit pattern  01001101    01100001    01101110

 6 Bit pattern  010011  010110  000101  101110
 Index          19      22      5       46
 Base64-encoded T       W       F       u
 */


while (inpos < inLength){
    switch (cycle) {
        case 0:
            outputBuffer[outpos++] = Encode[(inputBuffer[inpos]&0xFC)>>2];
            cycle = 1;
            break;
        case 1:
            temp = (inputBuffer[inpos++]&0x03)<<4;
            outputBuffer[outpos] = Encode[temp];
            cycle = 2;
            break;
        case 2:
            outputBuffer[outpos++] = Encode[temp|(inputBuffer[inpos]&0xF0)>> 4];
            temp = (inputBuffer[inpos++]&0x0F)<<2;
            outputBuffer[outpos] = Encode[temp];
            cycle = 3;                  
            break;
        case 3:
            outputBuffer[outpos++] = Encode[temp|(inputBuffer[inpos]&0xC0)>>6];
            cycle = 4;
            break;
        case 4:
            outputBuffer[outpos++] = Encode[inputBuffer[inpos++]&0x3f];
            cycle = 0;
            break;                          
        default:
            cycle = 0;
            break;
    }
}
NSString *pictemp = [NSString stringWithUTF8String:outputBuffer];
free(outputBuffer); 
return pictemp;
}
NSMutableDictionary*args=[[NSMutableDictionary alloc]init]; UIImage*img=[UIImage ImageName:@“picture1.jpg”]; NSData*data=UIImageJPEG表示法(img,10); //NSData*data=UIImagePngResentation(img); NSString*imgstr=[data BASE64编码]; //NSString*imgstr=[[NSString alloc]initWithData:数据编码:NSASCIIStringEncoding]; //[args setObject:[UIImage ImageName:@“antartica1.png”]forKey:@“image”]; [args setObject:imgstr forKey:@“image”];/“images”是“UIImage”对象的数组 uploadimgrequest=[FBRequestWithDelegate:self]; [uploadimgrequest调用:@“photos.upload”参数:args dataParam:data]; //[uploadimgrequest调用:@“photos.upload”参数:args]; } -(NSString*)base64编码:(NSData*)数据{ //指向数据的起始点并设置缓冲区大小 int inLength=[数据长度]; int-outLength=((内长*4)/3)/4)*4+((内长*4)/3)%4?4:0; 常量字符*inputBuffer=[数据字节]; char*outputBuffer=malloc(outLength); outputBuffer[outLength]=0; //64位代码 静态字符编码[]=“abcdefghijklmnopqrstuvxyzabcdefghijklmnopqrstuvxyzo123456789+/”; //开始计数 整数周期=0; int-inpos=0; int outpos=0; 焦炭温度; //如果将最后一个填充到字节,则溢出必须始终是4的倍数 outputBuffer[outLength-1]='='; outputBuffer[outLength-2]='='; /* http://en.wikipedia.org/wiki/Base64 文本内容 ASCII 77 97 110 8位模式01001101 01100001 01110 6位模式010011010110 000101 101110 指数19 22 5 46 Base64编码T W F u */ while(inpos>2]; 循环=1; 打破 案例1: temp=(inputBuffer[inpos++]&0x03)4]; temp=(inputBuffer[inpos++]&0x0F)6]; 周期=4; 打破 案例4: outputBuffer[outpos++]=编码[inputBuffer[inpos++]&0x3f]; 周期=0; 打破 违约: 周期=0; 打破 } } NSString*pictemp=[NSString stringWithUTF8String:outputBuffer]; 空闲(输出缓冲区); 返回pictemp; }
它在NSString*imgstr=[data BASE64编码]上给出错误;找不到关于Base64编码方法的行,并生成警告uploadimgrequest=[FBRequestRequestWithDelegate:self];requestWithDelegate未找到现在我已更新了答案,包括Base64编码方法