gpt4 book ai didi

ios - 在 ios 中使用 socket io 发送图像

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:34:12 25 4
gpt4 key购买 nike

我有使用下面的例子 https://github.com/socketio/socket.io-client-swift如何使用套接字io发送图像?

最佳答案

例如,你可以发送这样一张图片

//emit filename and size to server

- (void)testButtonClicked {

_fileName = @"001@3x.png";
NSString *path = [[NSBundle mainBundle] pathForResource:@"001@3x" ofType:@"png"];
_imgData = [NSData dataWithContentsOfFile:path];

float length = [_imgData length];
NSString *fileSizeString = [NSString stringWithFormat:@"%f", length];

NSArray *array = [NSArray arrayWithObject:@{@"Name": _fileName, @"Size":fileSizeString}];
[socket emit:@"start" withItems:array];
}


//server callback

[socket on:@"moreData" callback:^(NSArray *array, SocketAckEmitter *emitter) {


NSString *dataPosition = [array[0]objectForKey:@"position"];

[self uploadAvatarImage:dataPosition];
}];

// uploadImage Method

- (void)uploadAvatarImage:(NSString *)dataPosition {

NSString *path = [[NSBundle mainBundle] pathForResource:@"001@3x" ofType:@"png"];
_imgData = [NSData dataWithContentsOfFile:path];

NSString *imageString = [[NSString alloc]initWithData:_imgData encoding:NSStringEncodingConversionAllowLossy];

NSRange range;
if ([dataPosition intValue]<[_imgData length]) {

if ([_imgData length]-[dataPosition intValue]>5120) {
range.length = 5120;
}else {
range.length = [_imgData length]-[dataPosition intValue];
}

range.location =[dataPosition intValue];
NSString *subString = [imageString substringWithRange:range];
NSArray *array = [NSArray arrayWithObject:@{@"Name": _fileName, @"Segment":subString}];

[socket emit:@"upload" withItems:array];
}
}

关于ios - 在 ios 中使用 socket io 发送图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34758880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com