2016-06-02 20 views
-2

Ich möchte einige einfache Benutzerdaten in einer JSON-Datei auf meinem Server speichern, damit ich es mit meinem PHP verwenden kann. Ich weiß, wie man eine JSON-Datei dank diesem praktischen Artikel erstellt: How to write a Json file in C#? Aber in diesem Artikel speichern sie die Datei lokal, aber ich möchte es auf meinem externen Server speichern, aber ich weiß nicht, wie ich JSON vorher nie wirklich benutzt habe. Kann mir jemand sagen, ob es möglich ist und welche Art von Methode ich brauche? Ich dachte, so etwas wie dies funktionieren würde, atleast es schien mir vernünftig:Ist es möglich, JSON-Datei auf einem Server zu speichern

var httpWebRequest = (HttpWebRequest)WebRequest.Create("http://" + ConfigurationManager.AppSettings["jsonuri"] +"/apptest/saleskickerbuffer.txt"); 
httpWebRequest.ContentType = "application/json"; 
httpWebRequest.Method = "POST"; 

using (var sw = new StreamWriter(httpWebRequest.GetRequestStream())) 
{ 
    if(reqCat == "bvg") 
    { 
     json = "{\"bedrijfsNaam\":\"" + bedrijfsNaam + "\"," + 
         "\"ContPers\":\"" + ContPers + "\"," + 
         "\"TelNum\":\"" + TelNum + "\"," + 
         "\"email\":\"" + email + "\"," + 
         "\"Land\":\"" + Land + "\"," + 
         "\"Plaats\":\"" + Plaats + "\"," + 
         "\"PostCode\":\"" + PostCode + "\"}"; 
     MessageBox.Show(json); 
    } 

    sw.Write(json); 
    sw.Flush(); 
    sw.Close(); 
} 

Dies in einem Versagen führte natürlich, weil es nichts tat. Dies ist weil ich noch nie JSON benutzt habe.

Kann mir jemand eine gute Methode dafür beibringen, wenn es möglich ist?

+1

Verwenden Sie FTP anstelle von HTTP. FTP ist eine Form von HTTP, mit der Dateien hoch- und heruntergeladen werden können. – jdweng

+4

Entfernen Sie Json aus der Gleichung, wissen Sie, wie Sie eine Datei auf einem Remote-Server speichern? – Gusman

+0

Ja Ich weiß, wie Sie Dateien auf einem Remote-Server speichern @Gusman –

Antwort

0

Sorry für die späte Antwort, aber ich habe den richtigen Code. Anstelle von HttpWebRequest musste ich nur WebRequest verwenden und ich musste auch ftp anstelle von http in meiner uri-Zeichenfolge verwenden. Hier ist mein endgültiger Code:

static string ftpUser = ConfigurationManager.AppSettings["ftpUser"].ToString(); 
    static string ftpPass = ConfigurationManager.AppSettings["ftpPass"].ToString(); 

    static string serverPath = ConfigurationManager.AppSettings["jsonuri"].ToString() + dt.bedrijfsNaam + ".json"; 

    static string json; 

    public static void post(string reqCat) 
    { 
     WebRequest hwr = WebRequest.Create(serverPath); 
     hwr.Method = WebRequestMethods.Ftp.UploadFile; 
     hwr.Credentials = new NetworkCredential(ftpUser, ftpPass); 

     if (reqCat == "bvg") 
     { 
      json = "[\"bedrijfsNaam\":\"" + bedrijfsNaam + "\"," + 
          "\"ContPers\":\"" + ContPers + "\"," + 
          "\"TelNum\":\"" + TelNum + "\"," + 
          "\"email\":\"" + email + "\"," + 
          "\"Land\":\"" + Land + "\"," + 
          "\"Plaats\":\"" + Plaats + "\"," + 
          "\"PostCode\":\"" + PostCode + "\"]"; 
      using (var sw = new StreamWriter(hwr.GetRequestStream())) 
      { 
       sw.Write(json); 
       sw.Flush(); 
       sw.Close(); 
      } 
     } 
    } 

Auch danke gusman für den tollen Tipp!

Verwandte Themen