【发布时间】:2012-03-27 12:13:41
【问题描述】:
我在这里挣扎了很多, 我正在尝试使用 webservice asmx(VB.net) 将图像从 iphone 上传到 (iis)server 文件夹
找了好久终于用了下面的代码
- (IBAction)btnPostImages_Clicked:(id)sender {
NSMutableURLRequest *request;
request = [[[NSMutableURLRequest alloc] init] autorelease];
[request setHTTPMethod:@"POST"];
[request setURL:[NSURL URLWithString:@"http://192.168.0.2/digita/digitacampus.asmx/SaveImage"]];
NSString *boundary = [NSString stringWithString:@"---------------------------14737809831466499882746641449"];
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
[request addValue:contentType forHTTPHeaderField: @"Content-Type"];
NSMutableData *body = [NSMutableData data];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"%@\"; filename=\"%@\"\r\n",@"recFile",@"image.jpg"]dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[NSData dataWithData:dt]];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:body];
NSURLConnection *conn=[[NSURLConnection alloc] initWithRequest:request delegate:self];
}
dt 是 jpeg 表示的图像的 NSData
和webmethod如下
<WebMethod()> _
Public Function SaveImage(ByVal recFile As String) As String
Dim file As HttpPostedFile = HttpContext.Current.Request.Files("recFile")
Dim targetFilePath As String = HttpContext.Current.Server.MapPath("") + file.FileName
file.SaveAs(targetFilePath)
Return file.FileName.ToString()
End Function
什么都没发生
上面的webmethod是否正确
我也尝试过,简单如下
- (IBAction)btnPostImages_Clicked:(id)sender {
NSURL *url = [NSURL URLWithString:@"http://192.168.0.2/digita/digitacampus.asmx/SaveImage"];
NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:url];
[req addValue:@"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[req addValue:@"image/jpeg" forHTTPHeaderField:@"Content-Type"];
[req setHTTPMethod:@"POST"];
[req setHTTPBody:dt];
NSURL *conn = [[NSURLConnection alloc] initWithRequest:req delegate:self];
}
我不知道还能做什么
我做错了什么
如何识别图片是否上传成功
【问题讨论】:
标签: asp.net objective-c file-upload asmx image-uploading