Attach a file to a list item using CSOM will raise the following error “The file format or file exte

%3CLINGO-SUB%20id%3D%22lingo-sub-1595595%22%20slang%3D%22en-US%22%3EAttach%20a%20file%20to%20a%20list%20item%20using%20CSOM%20will%20raise%20the%20following%20error%20%E2%80%9CThe%20file%20format%20or%20file%20exte%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1595595%22%20slang%3D%22en-US%22%3E%3CP%3EI%20have%20the%20following%20CSOM%20code%20to%20attach%20a%20file%20to%20a%20list%20item%3A-%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-applescript%22%3E%3CCODE%3E%20%20%20context.Load(context.Site)%3B%0A%20%20%20context.ExecuteQuery()%3B%0A%20%20%20Microsoft.SharePoint.Client.File%20fs%20%3D%20context.Site.RootWeb.GetFileByServerRelativeUrl(context.Site.ServerRelativeUrl%20%2B%20%22%2FRiskAssessmentTemplate%2FRisk%2520Assesment.xlsx%22)%3B%0A%20%20%20context.Load(fs)%3B%0A%20%20%20context.ExecuteQuery()%3B%0A%20%20%20var%20attInfo%20%3D%20new%20AttachmentCreationInformation()%3B%0A%20%20%20attInfo.FileName%20%3D%20fs.Name%3B%0A%20%20%20var%20data%20%3D%20fs.OpenBinaryStream()%3B%0A%20%20%20context.Load(fs)%3B%0A%20%20%20context.ExecuteQuery()%3B%0A%20%20%20using%20(MemoryStream%20ms%20%3D%20new%20MemoryStream())%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20data.Value.CopyTo(ms)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20attInfo.ContentStream%20%3D%20ms%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20att%20%3D%20item.AttachmentFiles.Add(attInfo)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20context.Load(att)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20context.ExecuteQuery()%3B%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3Enow%20if%20i%20try%20to%20open%20the%20attachment%20which%20get%20attached%20using%20the%20above%20code%20i%20will%20get%20this%20error%3A-%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22excelcannot.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F213054iD395B086B173FB23%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20title%3D%22excelcannot.png%22%20alt%3D%22excelcannot.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3Ewhile%20if%20i%20manually%20attach%20the%20same%20file%20i%20can%20open%20the%20attachment%20without%20any%20issue..%20any%20advice%20please%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-1595595%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3EDeveloper%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E
Valued Contributor

I have the following CSOM code to attach a file to a list item:-

 

   context.Load(context.Site);
   context.ExecuteQuery();
   Microsoft.SharePoint.Client.File fs = context.Site.RootWeb.GetFileByServerRelativeUrl(context.Site.ServerRelativeUrl + "/RiskAssessmentTemplate/Risk%20Assesment.xlsx");
   context.Load(fs);
   context.ExecuteQuery();
   var attInfo = new AttachmentCreationInformation();
   attInfo.FileName = fs.Name;
   var data = fs.OpenBinaryStream();
   context.Load(fs);
   context.ExecuteQuery();
   using (MemoryStream ms = new MemoryStream())
                            {
                            data.Value.CopyTo(ms);
                            attInfo.ContentStream = ms;
                            var att = item.AttachmentFiles.Add(attInfo);
                            context.Load(att);
                            context.ExecuteQuery();
    
                           }

 

 

now if i try to open the attachment which get attached using the above code i will get this error:-

excelcannot.png

while if i manually attach the same file i can open the attachment without any issue.. any advice please?

0 Replies