none
HTTP POST ILE RESIM YUKLEME RRS feed

  • Soru

  • Merhaba Arkadaslar;

    IOS'da bir uygulama gelistiriyorum. Cekilen bir fotografi http post olarak gondermek istiyorum iosdan. Asp.net tarafinda nasil post edildigi hakkinda bana ornek bir kod gosterebilirmisiniz.


    Microsoft

    22 Eylül 2015 Salı 05:20

Yanıtlar

Tüm Yanıtlar

  • HTTP herhangi bir platforma bağlı bir protokol değildir, FTP de öyle.  

    Asp.Net tarafında post HTML ile browser aracılığıyla yapılabilir ya da WebClient / HttpRequest class ları ile yapılabilir. Siz neyi sruyorsunuz?


    www.mvcblog.org
    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    22 Eylül 2015 Salı 06:13
    Moderatör
  • <form name="form1" method="post" enctype="multipart/form-data" action="api/upload"> <div> <label for="caption">Image Caption</label> <input name="caption" type="text" /> </div> <div> <label for="image1">Image File</label> <input name="image1" type="file" /> </div> <div> <input type="submit" value="Submit" /> </div> </form>

    Bu tarz bir methodla veri gonderiliyor 

    Microsoft

    22 Eylül 2015 Salı 07:18
  • bu tarz yeni bişey değil dediğim gibi her platform için aynı, adınada html deniyor. Hala sorunuzu anlamış değilim, bu uploadın ASP.Net karşısındaki , dosyayı klasöre ya da database e kaydedecek kısmı mı soruyorsunuz? öyleyse webforms mu mvc mi? 

    www.mvcblog.org
    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    22 Eylül 2015 Salı 08:55
    Moderatör
  • post method ile ios uygulamasindan resim gonderecegim. 

    Ornek ios Uygulamasi

    - (IBAction)gonder:(id)sender {
        NSString *urlString = @"http://MyWebSite.com/sendImages.php";
        NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
        [request setURL:[NSURL URLWithString:urlString]];
        [request setHTTPMethod:@"POST"];
        NSMutableData *body = [NSMutableData data];
        NSString *boundary = @"---------------------------14737809831466499882746641449";
        NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary];
        [request addValue:contentType forHTTPHeaderField:@"Content-Type"];
        // file
        NSData *imageData = UIImageJPEGRepresentation(self.resim.image,90);
        [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
        [body appendData:[@"Content-Dis; name=\"userfile\"; filename=\".jpg\"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
        [body appendData:[@"Content-Type: application/octet-stream\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
        [body appendData:[NSData dataWithData:imageData]];
        [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
        // close form
        [body appendData:[[NSString stringWithFormat:@"--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
        // set request body
        [request setHTTPBody:body];
        //return and test
        NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
        NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Success" message:returnString delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil];
        [alert show]
    Yukarida ornekte web sayfasina baglanip  resim yukleme islemi yapiyor. Nasil desem bi taraycidan acarak degilde kodla veri gonderiyorum. Bu PHP de yapilabiliyor ama ben asp.net netle yapmak istiyorum webForm1 olarak bir onceki ornekte. Post methodunu dogrumu yaptim.


    Microsoft

    22 Eylül 2015 Salı 17:46
  • c# ile dosya göndermeyi ve form verisi göndermeyi soruyorsanız HttpWebRequest classını inceleyin:

    https://msdn.microsoft.com/en-us/library/system.net.httpwebrequest%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396


    www.mvcblog.org
    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    • Yanıt Olarak İşaretleyen Serkan Canseven 28 Eylül 2015 Pazartesi 06:22
    23 Eylül 2015 Çarşamba 06:31
    Moderatör
  • Ios tarafında methodu nasıl çağırıyorsan, c# da MultipartFormDataContent bir class var. Bunun sayesinde content' i yani resmini buraya koyup gönderebilirsin, .net tarafında ise Request.Files ile dosyayı alabilirsin. 

    Ios için bilmiyorum ama wp için bu şekilde kullanmıştım.

            async public static Task<ServiceModel<string>> UploadFile(StorageFile storageFile, string requestUri)
            {
                try
                {
                    using (var randomStream = (await storageFile.OpenReadAsync()))
                    {
                        using (var stream = randomStream.AsStream())
                        {
                            using (var content = new StreamContent(stream))
                            {
                                var httpClient = new HttpClient();
                                var form = new MultipartFormDataContent
                                {
                                    {
                                        content, storageFile.Name, storageFile.Name
                                    }
                                };
                                
                                HttpResponseMessage response = await httpClient.PostAsync(string.Format("{0}{1}", Uri, requestUri), form);
                                if (response.IsSuccessStatusCode)
                                {
                                    var contentString = await response.Content.ReadAsStringAsync();
                                    var serviceModel = JsonConvert.DeserializeObject<ServiceModel<string>>(contentString);
                                    httpClient.Dispose();
                                    return serviceModel;
                                }
                            }
                        }
                    }
                    return new ServiceModel<string>();
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message, ex);
                }
            }

            [HttpPost]
            public JsonResult SaveFile()
            {
                var result = _mobileComponent.SaveFile(Request.Files);
                return Json(result);
            }
    

    23 Eylül 2015 Çarşamba 07:33