Note that there are some explanatory texts on larger screens.

plurals
  1. POGet Variable from httpcontext coming from NSUrlRequest
    primarykey
    data
    text
    <p>This question will be a nice tutorial for http connection "POST" between Iphone and asp.net server :) what i'm trying to do is to send an image from iphone to Asp.net server; Here my uploadImage fonction in objective-c :</p> <pre><code>- (IBAction)uploadImage { /* turning the image into a NSData object getting the image back out of the UIImageView setting the quality to 90 */ NSData *imageData = UIImageJPEGRepresentation(image.image, 33); // setting up the URL to post to NSString *urlString = @"MyWebServiceUrl"; // setting up the request object now NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease]; [request setURL:[NSURL URLWithString:urlString]]; [request setHTTPMethod:@"POST"]; /* add some header info now we always need a boundary when we post a file also we need to set the content type You might want to generate a random boundary.. this is just the same as my output from wireshark on a valid html post */ NSString *boundary = [NSString stringWithString:@"---------------------------14737809831466499882746641449"]; NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary]; [request addValue:contentType forHTTPHeaderField: @"Content-Type"]; /* now lets create the body of the post */ NSMutableData *body = [NSMutableData data]; [body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[[NSString stringWithString:@"Content-Disposition: form-data; filepath=\"ProfilePic\"; filename=\"ipodfile\"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[NSData dataWithData:imageData]]; [body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]]; // setting the body of the post to the reqeust [request setHTTPBody:body]; // now lets make the connection to the web NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding]; NSLog(@"%@", returnString); </code></pre> <p>}</p> <p>And here is my webService Fonctions that parse the data sent and save the file :</p> <pre><code>public class SaveData : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; bool hasErrors = false; HttpFileCollection filesPosted = context.Request.Files; String filePath = context.Request.QueryString["filepath"]; String fileName = context.Request.QueryString["filename"]; try { if (String.IsNullOrEmpty(fileName) || String.IsNullOrEmpty(filePath) || filesPosted.Count &lt;= 0) hasErrors = true; if (!hasErrors) { HttpContext.Current.Response.Write(WriteFile(filesPosted[0], filePath, fileName)); } else { context.Response.Write("Failed: parsing error"); } } catch (Exception ex) { context.Response.Write("Failed: exception error:::" + ex.Message); } } private string WriteFile(HttpPostedFile file, String filePath, String fileName) { System.IO.Directory.CreateDirectory(filePath); int counter = 0; string path = String.Format("{0}\\{1}.jpg", filePath, fileName); while (System.IO.File.Exists(path)) { counter++; path = String.Format("{0}\\{1}-{2}.jpg", filePath, fileName, counter); } file.SaveAs(path); return path; } public bool IsReusable { get { return false; } } } </code></pre> <p>my problem come from this two lines </p> <pre><code> String filePath = context.Request.QueryString["filepath"]; String fileName = context.Request.QueryString["filename"]; </code></pre> <p>context.Request.QueryString is returning null so my hasErrors is false; any ideas how to fix that will be so appreciated, thanks for all.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload