iphone - 使用 ASIHTTPRequest 上传 txt 文件

标签 iphone objective-c ios asihttprequest

我在将数据文件上传到服务器时遇到问题。在 objective-c 方面,一切似乎都在工作(我启用了一个缓慢增加到 100% 的进度条)。这是代码(您可以假设 uploadURL 是正确的 URL,outFilePath 是文件“out.txt”的正确路径,我已经仔细检查过):

ASIFormDataRequest *uploadRequest = [ASIFormDataRequest requestWithURL:uploadURL];
[uploadRequest setUploadProgressDelegate:uploadProgress];
[uploadRequest setFile:outFilePath forKey:@"file"];
[uploadRequest startSynchronous];

服务器似乎没有收到数据文件。这是 php 代码(不是我写的):

<?php
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]$
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
}
?>

任何关于我做错了什么的想法都将不胜感激。谢谢!

最佳答案

如果我运行这段代码(取自 ASIHTTP 示例)

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:@"http://buildmac.ee.pitt.edu/~wsn/boinclite/upload_file"];

[request setPostValue:@"test" forKey:@"value1"];
[request setPostValue:@"test" forKey:@"value2"];
[request setPostValue:@"test" forKey:@"value3"];
[request setTimeOutSeconds:20];

//Create a 256KB file
NSData *data = [[[NSMutableData alloc] initWithLength:256*1024] autorelease];
NSString *path = [[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"] stringByAppendingPathComponent:@"file"];
[data writeToFile:path atomically:NO];

[request setFile:path forKey:@"file"];

[request startAsynchronous];

我得到这个结果(使用 Charles Proxy 监控上传):

Upload: file
Type: application/octet-stream
Size: 256 Kb
Temp file: /private/var/tmp/phpi6UDp1
Stored in: upload/file

所以一切都在正常运行。

关于iphone - 使用 ASIHTTPRequest 上传 txt 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10069889/

相关文章:

iphone - uibutton未显示何时选择新的uiviewController

iphone - 我可以在一台计算机上编译 iPhone 应用程序并在另一台计算机上签名吗?

objective-c - 将项目移动到快速桥接项目后,“LOG_INFO”宏重新定义了警告

iphone - 使用drawAtPoint定位字符串?

iphone - 最低操作系统版本不正确

iphone - 苹果拒绝 iPad 应用

iphone - 屏幕旋转处理ios

iphone - 吸头使用

Java 相当于 Objective C 方法作用域静态变量

iphone - iOS:在特定时间在后台播放/停止音乐