2013-03-04 2 views
0

Я много искал в google, а также в stackoverflow, но не получил удовлетворительного решения, которое работает для меня.Как загрузить изображение в .ashx url в ios

Мне нужно загрузить изображение по определенному URL-адресу, которое заканчивается расширением .ashx. Я видел, как загрузить на php-сервер, но здесь я не понимаю.

Пожалуйста, помогите мне, предоставив несколько примеров кода.

+0

Вы хотите загрузить его на сервер IIS? –

+0

Не думаю, что есть какая-либо разница, если на какой бэкэнд вы загружаете, если метод загрузки POST – RolandasR

+0

На самом деле, я должен загрузить его на сетевом сервере точек. – Sawant

ответ

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

0

Убедитесь, что переменная (NSData), которую вы используете для загрузки изображения, не является нулевым. & Ваш точечный сетевой сервер получает запрос.

Смежные вопросы