2017-05-09 1 views
0

프로그래밍 방식으로 C#으로 이미지를 ezphotoshare.com에 업로드하는 데 실패했습니다. Chevereto v1을 기본으로 사용하고 있습니다. 업로드를 시도 할 때마다 "원격 서버가 오류를 반환했습니다 : (400) 잘못된 요청입니다.". 여기에 내가 해봤 것들 중 일부입니다 : 다른Chevalto API v1 ezphotoshare.com에 로컬 이미지 업로드

int limit = 32766; 
     StringBuilder sb = new StringBuilder(); 
     int loops = img.Length/limit; 
     for (int i = 0; i <= loops; i++) 
     { 
      if (i < loops) 
      { 
       sb.Append(Uri.EscapeDataString(img.Substring(limit * i, limit))); 
      } 
      else 
      { 
       sb.Append(Uri.EscapeDataString(img.Substring(limit * i))); 
      } 
     } 
     string url = "http://ezphotoshare.com/api/1/upload/?key=######&source=" + sb + 
        "&format=json"; 
     var uploadImageRequest = (HttpWebRequest)WebRequest.Create(url); 
     uploadImageRequest.Method = "POST"; 

     var response = (HttpWebResponse)uploadImageRequest.GetResponse(); 
여기

뭔가 내가 시도 : 나는 행운과 위의 코드의 다양한 변화를 시도했습니다

string img = ImageReturn(@"C:\avatar63New3.jpg"); 
using (WebClient client = new WebClient()) 
     { 
      byte[] response3 = client.UploadValues("http://ezphotoshare.com/api/1/", new NameValueCollection() 
      { 
       { "key", "######" },{"format","txt"},{"action","upload"},{"source",img} 
      }); 
      Console.WriteLine(XDocument.Load(new MemoryStream(response3))); 
     } 

private static string ImageReturn(string imageLocation) 
    { 
     using (Image image = Image.FromFile(imageLocation)) 
     { 
      using (MemoryStream m = new MemoryStream()) 
      { 
       //image.Save(m, image.RawFormat); 
       image.Save(m, ImageFormat.Jpeg); 
       byte[] imageBytes = m.ToArray(); 

       string base64String = Convert.ToBase64String(imageBytes); 
       return base64String; 
      } 
     } 
    } 

. 올바른 방향으로 나를 가리켜 주시면 크게 감사하겠습니다. 감사.

답변

0

것은 HttpClient를 방법

를 사용해보십시오

간단한 예를 사용하는 방법 HttpClient를 :

https://stackoverflow.com/a/39414248/2154577

+0

감사하지만,이 프로젝트는 4.5 프레임 워크를 사용하고 내가 새로운 방법을 사용할 수 있도록하지 않는 것 프레임 워크를 변경하지 않고 다른 제안? – Roro

+0

문제를 이해합니다. 예를 들어 우편 배달부를 사용하여 API를 이미 테스트 했습니까? 그렇다면 성공 했습니까? – Vimaciel

관련 문제