• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

PDF w formie binarnej

Aruba Cloud PRO i VPS, Openstack, VMWare, MS Hyper-V
0 głosów
64 wizyt
pytanie zadane 4 dni temu w PHP przez kelorth Nowicjusz (210 p.)

Dzień dobry

API wymaga ode mnie przesłania treści PDF w formie binarnej

"file": "data:4AAQSkZJRgABA[...]" (binary - the file body limited to 2MB)

I tutaj pomysły mi się skończyły, nie mam pojęcia jak ugryźć temat. Może ma ktoś jakiś pomysł?

komentarz 4 dni temu przez tangarr Mędrzec (150,800 p.)
Rozwiń temat

1 odpowiedź

0 głosów
odpowiedź 3 dni temu przez Gynvael Coldwind Pasjonat (19,110 p.)
wybrane 1 dzień temu przez kelorth
 
Najlepsza

Wygląda jakby plik był zakodowany base64 (funkcja base64_encode w PHP), dorzucony był do niego URL schema "data:", ale o dziwo bez deklaracji typu (czyli wystarczy, że dokleisz prefix "data:" z przodu), a całość była opakowana w JSON jako array.

GPT-4 mówi że kod wyglądałby tak:

function fileToJsonBase64($fileName) {
    // Check if file exists and is readable
    if (!file_exists($fileName) || !is_readable($fileName)) {
        return json_encode(['error' => 'File not found or not readable']);
    }

    // Read file content
    $fileContent = file_get_contents($fileName);

    // Encode file content as base64
    $base64Content = base64_encode($fileContent);

    // Add data: prefix
    // [tutaj byćmoże trzeba będzie trochę zmienić, tj usunąc typ i prefix base64 //gynvael]
    $dataUrl = 'data:' . mime_content_type($fileName) . ';base64,' . $base64Content;

    // Add the result to an array under the key "file"
    $result = ['file' => $dataUrl];

    // Return JSON encoded string
    return json_encode($result);
}

Przykład użycia:

$fileName = "example.png";
$jsonResult = fileToJsonBase64($fileName);
echo $jsonResult;

Prompt:

Write a PHP function that takes a file name as an argument. Then it reads the file content, encodes it as base64 and adds a "data:" prefix to that. The result should be then added to an array under the key "file", and return as a JSON encoded string.

 

Podobne pytania

0 głosów
1 odpowiedź 419 wizyt
0 głosów
1 odpowiedź 269 wizyt
0 głosów
2 odpowiedzi 68 wizyt

90,823 zapytań

139,496 odpowiedzi

313,570 komentarzy

60,316 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...