Điểm:1

Làm cách nào tôi có thể lưu trữ hình ảnh base64 vào thư mục riêng của trang web của mình?

lá cờ cn

Tôi đang cố lưu trữ hình ảnh base64 từ plugin trường Chữ ký (plugin xuất văn bản base64). Nhưng trước khi tôi có thể lưu nó vào thư mục riêng, trước tiên tôi phải chuyển đổi nó thành hình ảnh png. Đây là cách tôi thường làm nếu tôi chỉ tải lên một hình ảnh:

    // Trường chữ ký trên FormBuilder
    $form['chữ ký'] = [
        '#type' => 'tệp được quản lý',
        '#title' => $this->t('Chữ ký'),
        '#upload_location' => 'riêng tư://requestformfiles',
        '#upload_validators' => [
        'file_validate_extensions' => ['png jpg',],
        ],
    ];

    // Lưu trước
    $image = $form_state->getValue('signature');
    $file = File::load( $image[0] );
    $file->setPermanent();
    $file->save(); 

Nhưng với hình ảnh base64, tôi phải làm điều này trước:

    $image = $form_state->getValue('signature');
    $data = base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $image));
    file_put_contents('storage/signature.png', $data);

Vấn đề của tôi là với file_put_contents. Vị trí lưu thường được thực hiện trong '#upload_location', nhưng tôi không biết làm thế nào để làm điều này trong file_put_contents.

Bất kỳ trợ giúp được đánh giá cao!

Điểm:1
lá cờ cn

file_put_contents hỗ trợ trình bao bọc luồng, vì vậy:

file_put_contents('riêng tư://path/to/storage/signature.png', $data);
lá cờ cn
Dang, cũng không biết cái này hoạt động. Bây giờ vấn đề của tôi là `File::load` không thực sự "thấy" tệp của tôi trong `file_put_contents`, vì vậy tôi không thể đặt nó trong `file_managed`

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.