gpt4 book ai didi

iphone - 无法在 iPhone 应用程序中使用 Base64 上传图片

转载 作者:行者123 更新时间:2023-12-03 20:31:56 26 4
gpt4 key购买 nike

我之前在这个论坛上问过这个问题,但它被关闭了,我不知道为什么,所以我再次发布我的问题。在iPhone应用程序中,我必须使用Base64编码上传图片,但是当我查看服务器时,图片全是白色(大小= 0x0,54 KO),我确信我的图片的Base64编码是正确的,因为我有一个php脚本,我使用它,图片正常显示。这是用于上传的 php 代码:

<?php
$filename = "photo_to_upload.jpg";
$handle = fopen($filename, "r");
$imgbinary = fread($handle, filesize($filename));
$data = base64_encode($imgbinary);
fclose($handle);
?>
<img src="./<?php echo $filename ?>" />
<form action="http://host" method="POST">
<input type="hidden" name="data" value="<?php echo $data?>">
<input type="submit" value="envoyer" />
</form>

我使用的 Xcode 是这样的:

 NSString *filePath = [[NSBundle mainBundle] pathForResource:@"photo_to_upload" ofType:@"jpg"];
NSURL *url = [NSURL fileURLWithPath:filePath];
NSData *imageData = [NSData dataWithContentsOfURL:url];

NSURLResponse* response;
NSError* error=nil;

NSMutableData *postData=[[NSMutableData alloc]init];
[postData appendData:[@"data=" dataUsingEncoding:NSUTF8StringEncoding]];
[postData appendData:[self base64forData:imageData]];


NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"HOST"]];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody:postData];

[[NSURLConnection alloc] initWithRequest:request delegate:self];

请您帮忙。

最佳答案

我也面临同样的问题Red Mak答案帮助了我。

有帮助的答案

解决了!!!事实上问题是服务器对请求进行编码,用“+”替换“blanc”,然后解码用“blanc”替换“+”,但是在Base64中我们分配了“+”,第一步服务器什么也不做(没有找到blanc) )但在第二个中它替换了“+”并且给出了错误的base64代码,

to solve that i replac "+" with ASCII equivalente like this 

:[[self base64forData:imageData]stringByReplacingOccurrencesOfString:@"+" withString:@"%2B"].

关于iphone - 无法在 iPhone 应用程序中使用 Base64 上传图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8047481/

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