【问题标题】:Using asmx file for uploading image from iphone使用 asmx 文件从 iphone 上传图像
【发布时间】: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


    【解决方案1】:

    网址是否正确?我认为它应该是这样的: digitacampus.asmx?op=SaveImage 可能还有 digitalcampus.asmx

    您必须将字符串转换为像这样的文件流:

    Dim fs As FileStream
    fs.Write(System.Convert.FromBase64String(recFile), 0, pdfLength)
    

    【讨论】:

      猜你喜欢
      • 2020-01-13
      • 1970-01-01
      • 2012-01-28
      • 2015-01-06
      • 2010-12-28
      • 1970-01-01
      • 2011-05-27
      • 1970-01-01
      • 2020-01-14
      相关资源
      最近更新 更多