Bild als Anhang

Hilfe zu Znuny Problemen aller Art
Locked
leon
Znuny newbie
Posts: 7
Joined: 30 Oct 2012, 09:12
Znuny Version: 3.1.5

Bild als Anhang

Post by leon »

Hey Leute,
ich würde gerne ein Bild (png-Datei) in meinen Anhang eines Tickets packen und komm nicht weiter, weil ich nicht weiß, was ich in diese Felder einzugeben habe:

Code: Select all

<Attachment>
        <Content>??</Content>
        <ContentType>??</ContentType>
        <Filename>??</Filename>
</Attachment>
Also bei ContentType hätte ich jetzt mal image/png vermutet?! Bei Filename weiß ich nicht, ob ich den ganzen Pfad oder nur den Namen eintragen soll und bei Content weiß ich gar nichts.

Zähle auf eure Hilfe (: Danke.
Jojo94
Znuny newbie
Posts: 5
Joined: 08 Nov 2012, 15:44
Znuny Version: 3.1.6

Re: Bild als Anhang

Post by Jojo94 »

Hat sich dein Problem schon erledigt?

Welches Otrs benutzt du denn?
leon
Znuny newbie
Posts: 7
Joined: 30 Oct 2012, 09:12
Znuny Version: 3.1.5

Re: Bild als Anhang

Post by leon »

Jap danke, ich habs mir selber hingebaut ;)
Falls es irgendwer braucht:

Code: Select all

#region SERVICE_ATTACHMENT
        /// <summary>
        /// Mit diesem soap-Aufruf wird einem spezifischem Artikel ein Anhang zugefügt (hier Bildschirmfoto)
        /// {0}: soap_username : z.B.: TestSoapUser
        /// {1}: soap_password : z.B.: TestPasswort
        /// {2}: content : z.B.: Ein Bildschirmfoto als string (unten erklärt)
        /// {3}: content type : z.B.: "image/png"
        /// {4}: filename : z.B.: "Screenshot.png"
        /// {5}: articleID : z.B.: "XXXX" Die entsprechende Artikelnummer
        /// {6}: userID : z.B.: "1" (1 ist root)
        /// </summary>
        private static String SOAP_ARTICLEWRITEATTACHMENT = @"<?xml version=""1.0"" encoding=""utf-8""?>
  <soap:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:soapenc=""http://schemas.xmlsoap.org/soap/encoding/"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" soap:encodingStyle=""http://schemas.xmlsoap.org/soap/encoding/"" xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/"">
      <soap:Body>
          <Dispatch xmlns=""/Core"">
              <c-gensym142 xsi:type=""xsd:string"">{0}</c-gensym142>
              <c-gensym144 xsi:type=""xsd:string"">{1}</c-gensym144>

              <c-gensym146 xsi:type=""xsd:string"">TicketObject</c-gensym146>
              <c-gensym148 xsi:type=""xsd:string"">ArticleWriteAttachment</c-gensym148>

              <c-gensym150 xsi:type=""xsd:string"">Content</c-gensym150>
              <c-gensym152 xsi:type=""soapenc:base64"">{2}</c-gensym152>

              <c-gensym154 xsi:type=""xsd:string"">ContentType</c-gensym154>
              <c-gensym156 xsi:type=""xsd:string"">{3}</c-gensym156>

              <c-gensym158 xsi:type=""xsd:string"">Filename</c-gensym158>
              <c-gensym160 xsi:type=""xsd:string"">{4}</c-gensym160>

              <c-gensym162 xsi:type=""xsd:string"">ArticleID</c-gensym162>
              <c-gensym164 xsi:type=""xsd:string"">{5}</c-gensym164>

              <c-gensym166 xsi:type=""xsd:string"">UserID</c-gensym166>
              <c-gensym168 xsi:type=""xsd:string"">{6}</c-gensym168>
          </Dispatch>
      </soap:Body>
  </soap:Envelope>";
#endregion
Da Content ein string sein muss:

Code: Select all

string screenShot = System.Convert.ToBase64String(System.IO.File.ReadAllBytes("C:\\xxx"));
Und dann screenShot für {2} setzen.
;)
Locked