Domino Data Service - change name of attached file in rich-text-field

403 views Asked by At

I have an annoying problem and I am not sure anyone knows the answer, but asking cost nothing.

I am attaching a PDF-File via a PATCH-Methode to the Server with the Domino-Data-Service Rest-API. The attaching does work properly, but the attachment in the rich-text-field does have a automatically generated name.

My question: How can I change the name of this file by attaching it.

I wrote my code in C#, but I think this is not an programming language depending problem.

My code for attaching the PDF (C#):

HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes({username:passwort})));

Byte[] bytes = File.ReadAllBytes(@"H:\jakob.pdf");
String file = Convert.ToBase64String(bytes);

var json = "{" + 
           "\"anmerkung\":{" +
           "\"type\":\"multipart\"," +
           "\"content\":[ {" +
                      "\"contentType\":\"application/pdf\"," +
                      "\"data\":\"" + file + "\"," +
                      "\"contentTransferEncoding\":\"base64\"" +
                                                           "}" +
                                                           "]" +
                          "}" +
           "}";

var data = new StringContent(json, Encoding.UTF8, "application/json");
var url = @"https://{database}/api/data/documents/unid/424CC34CFB0746F6C12585A7003B277B?computewithform=true&form={formname}";

var response = await client.PatchAsync(url, data);

string result = response.Content.ReadAsStringAsync().Result;
Console.WriteLine(result);
client.Dispose();

This works fine but my PDF looks like this:

enter image description here

I want the pdf file to have the name jakob.pdf

So I tried to rebuild the json, in the way the json is build when using a GET-Request to a document with a PDF file in a rich-text-field

My code for attaching the PDF, with the rebuild json(C#):

HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes({username:passwort})));

Byte[] bytes = File.ReadAllBytes(@"H:\jakob.pdf");
String file = Convert.ToBase64String(bytes);


var json2 = "{" +
            "\"anmerkung\":{" +
            "\"type\":\"multipart\"," +
            "\"content\":[ {" +
                       "\"contentType\":\"application/pdf; name=\"jakob.pdf\"\","+
                       "\"contentDisposition\":\"inline; filename=\"jakob.pdf\"\","+
                       "\"data\":\"" + file + "\"," +
                       "\"contentTransferEncoding\":\"base64\"" +
                                                            "}" +
                                                            "]" +
                          "}" +
            "}";

var data = new StringContent(json2, Encoding.UTF8, "application/json");
var url = @"https://{database}/api/data/documents/unid/424CC34CFB0746F6C12585A7003B277B?computewithform=true&form={formname}";

var response = await client.PatchAsync(url, data);

string result = response.Content.ReadAsStringAsync().Result;
Console.WriteLine(result);
client.Dispose();

When I' m using this piece of code I always get an error-message:

"code":400,
"text":"Bad Request",
"message":"Fehler beim Parsen der JSON-Inhalte",
"type":"text",
"data":"com.ibm.domino.services.ServiceException: Fehler beim Parsen der JSON-Inhalte\r\n\tat

Regarding to this peice of code I am not even sure, if this code would normally work it was just an idea, that I tried.

I know this is a very complex and difficult problem, but maybe somone knows the answer to this problem or has some idea to fix this problem.

thanks in advance!

2

There are 2 answers

0
Scott Leis On BEST ANSWER

The most likely reason for the error response is that, when you set the filename in your JSON, you have created malformed JSON.

To take a single line of your code as an example, this line is malformed JSON because of the quote characters around the filename:

    "\"contentType\":\"application/pdf; name=\"jakob.pdf\"\","+

The line with contentDisposition has the same problem.

I highly recommend using an API designed to turn a structured object into proper serialized JSON, which should make it easy to avoid the problem, but I don't know what is available in C# for this purpose.

The list at the bottom of the following page may help: https://www.json.org/json-en.html

0
Jakob Rindberger On

I have the solution for everybody who is interested the JSON has to look like this if you want the code to work.

JSON:

cleanly formatted it looks like this:

{
    "nachname": "Rindberger",
    "anmerkung": {
        "type": "multipart",
        "content": [{
            "contentType": "application/pdf; name=\"jakob.pdf\"",
            "contentDisposition": "attachment; filename=\"jakob.pdf\"",
            "data": "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IBQzhGKBUIwQCqqEFaiBzQKsj30HmOLwZWAAAMrtCGcNCmVuZHN0cmVhbQ0KZW5kb2JqDQp4cmVmDQowIDIwDQowMDAwMDAwMDEwIDY1NTM1IGYNCjAwMDAwMDAwMTcgMDAwMDAgbg0KMDAwMDAwMDEyNSAwMDAwMCBuDQowMDAwMDAwMTgxIDAwMDAwIG4NCjAwMDAwMDA0NTEgMDAwMDAgbg0KMDAwMDAwMDgxNyAwMDAwMCBuDQowMDAwMDAxMDAxIDAwMDAwIG4NCjAwMDAwMDEyNTcgMDAwMDAgbg0KMDAwMDAwMTMxMCAwMDAwMCBuDQowMDAwMDAxMzYzIDAwMDAwIG4NCjAwMDAwMDAwMTEgNjU1MzUgZg0KMDAwMDAwMDAxMiA2NTUzNSBmDQowMDAwMDAwMDEzIDY1NTM1IGYNCjAwMDAwMDAwMTQgNjU1MzUgZg0KMDAwMDAwMDAxNSA2NTUzNSBmDQowMDAwMDAwMDE2IDY1NTM1IGYNCjAwMDAwMDAwMDAgNjU1MzUgZg0KMDAwMDAwMTk3NiAwMDAwMCBuDQowMDAwMDAyMTI1IDAwMDAwIG4NCjAwMDAwMDYwNzYgMDAwMDAgbg0KdHJhaWxlcg0KPDwvU2l6ZSAyMC9Sb290IDEgMCBSL0luZm8gOSAwIFIvSURbPEZEREE3MDIxMzlBQkIzNEZBNDQyNjBCNDlCQUIxQTVGPjxGRERBNzAyMTM5QUJCMzRGQTQ0MjYwQjQ5QkFCMUE1Rj5dID4+DQpzdGFydHhyZWYNCjYzNTMNCiUlRU9GDQp4cmVmDQowIDANCnRyYWlsZXINCjw8L1NpemUgMjAvUm9vdCAxIDAgUi9JbmZvIDkgMCBSL0lEWzxGRERBNzAyMTM5QUJCMzRGQTQ0MjYwQjQ5QkFCMUE1Rj48RkREQTcwMjEzOUFCQjM0RkE0NDI2MEI0OUJBQjFBNUY+XSAvUHJldiA2MzUzL1hSZWZTdG0gNjA3Nj4+DQpzdGFydHhyZWYNCjY5MDgNCiUlRU9G",
            "contentTransferEncoding": "base64"
        }]
    }
}

in the code it looks like this (C#):

var json = "{" +
                      "\"nachname\":\"Rindberger\"," +
                      "\"anmerkung\":{" +
                                "\"type\":\"multipart\"," +
                                "\"content\":[ {" +
                                            "\"contentType\":\"application/pdf; name=\\\"jakob.pdf\\\"\"," +
                                            "\"contentDisposition\":\"attachment; filename=\\\"jakob.pdf\\\"\"," +
                                            "\"data\":\"" + file + "\"," +
                                            "\"contentTransferEncoding\":\"base64\"" +
                                            "}" +
                                "]" +
                                "}" +
                      "}";