2017-07-13 6 views
0

Ma pièce jointe est en cours d'enregistrement en tête, mais le problème est qu'il ne sera pas ouvert.en utilisant ForceClient dans Force.com Toolkit pour .NET pour enregistrer une pièce jointe pdf

 private string GetFileAsStringBase64(Stream stream) 
     { 
      var data = new StreamReader(stream).ReadToEnd(); 
      var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(data); 
      var finalData = System.Convert.ToBase64String(plainTextBytes); 
      var response = await client.CreateAsync("Attachment", new Attachment { Body = finalData , Name = _model.DirectorInformation.Attachment.FileName, ParentId = _model.LeadId }); 
     } 
    public class Attachment 
    { 
     public string Body { get; set; } 
     public string Name { get; set; } 
     public string ParentId { get; set; } 
    } 

Répondre

0

Le problème était que les données de chaîne n'étaient pas correctement codées en base64string. Le code ci-dessous le convertira en chaîne base64 selon les attentes de la force de vente.

  System.IO.BinaryReader br = new System.IO.BinaryReader(stream); 
      Byte[] bytes = br.ReadBytes((Int32)stream.Length); 
      string base64String = Convert.ToBase64String(bytes, 0, bytes.Length); 
      return base64String;