2013-03-04 44 views
0

我已經搜索了很多谷歌以及在stackoverflow,但沒有得到任何滿意的解決方案,這對我有用。如何上傳圖像到ios中的.ashx網址

我必須上傳一些特定網址上的圖片,以擴展名.ashx結尾。 我已經看到如何上傳php服務器,但在這裏我沒有得到任何線索。

請通過提供一些示例代碼來幫助我。

+0

你想上傳到IIS服務器嗎? – 2013-03-04 11:52:30

+0

不要以爲上傳方法爲POST後端上傳方式有什麼區別 – RolandasR 2013-03-04 11:53:55

+0

其實我必須在dot net服務器上傳它。 – Sawant 2013-03-04 11:57:12

回答

1

按照我的理解,aspx是頁面,.ashx是迴應輸出的代碼文件,以字符串格式和.ashx file is a web handler. A web handler file works just like an aspx file...

所以我們認爲.ashx與.aspx相同,那麼這個代碼應該爲你工作(這爲我運行.aspx頁面)。這是向.net服務器發出請求。

的iOS

UIImage *img = [UIImage imageNamed:@"test.png"]; 
    NSData *imageData = UIImageJPEGRepresentation (img , 90); 

    NSString *urlString [email protected]"www.xyz.com/ImageUpload.aspx?filename=test"; 

    NSLog(@"IMAGE_UPLOAD_URL -------------> %@",urlString); 

    NSMutableURLRequest *request = [[[ NSMutableURLRequest alloc ] init ] autorelease ]; 
    [request setURL :[ NSURL URLWithString :urlString]]; 
    [request setHTTPMethod : @"POST" ]; 
    NSString *boundary = @"---------------------------14737809831466499882746641449"; 
    NSString *contentType = [ NSString stringWithFormat : @"multipart/form-data; boundary=%@" ,boundary]; 
    [request addValue :contentType forHTTPHeaderField : @"Content-Type" ]; 
    /*  body of the post */ 
    NSMutableData *body = [ NSMutableData data ]; 
    [body appendData :[ NSData dataWithData :imageData]]; 
    [request setHTTPBody :body]; 
    NSData *returnData = [ NSURLConnection sendSynchronousRequest :request returningResponse : nil error : nil ]; 

    NSString *returnString = [[ NSString alloc ] initWithData :returnData encoding : NSUTF8StringEncoding ]; 
    InfoLog(@"_______ IMAGE_UPLOAD response -------------> .%@.",returnString); 

.NET

檢索這樣的形象對於.aspx頁面中

if (Request.QueryString["filename"] != null) 
    { 
     string filename = Request.QueryString["filename"].ToString(); 
     string saveFilePath = ConfigurationManager.AppSettings["CPSBImageFolder"].ToString(); 
     //string saveFilePath = Server.MapPath("~/images"); 
     saveFilePath = saveFilePath + filename; 
     Stream objStream = Request.InputStream; 
     StreamReader objStreamReader = new StreamReader(objStream); 
     Image image = Image.FromStream(objStreamReader.BaseStream, true); 
     ImageCodecInfo[] info = ImageCodecInfo.GetImageEncoders(); 
     EncoderParameters param = new EncoderParameters(1); 
     param.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 100L); 
     image.Save(saveFilePath, info[1], param); 
     Response.Write("true"); 
    } 

不知道,但希望這給你一個線索。

+0

感謝它的正確..! – Sawant 2013-03-04 12:18:38

0

驗證您用於上傳圖像的變量(NSData)是否爲空&您的dot net服務器正在接收請求。

相關問題