Cơ sở64 để xlsx php

base64 là phương thức chuyển đổi dạng mã hóa 2 chiều từ binary sang

    $base64strImg = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAxoAAARjCAIAAABnqMWCAAAACXBIWXM...';
  header['Content-Description: File Transfer'];
            header['Content-Type: application/octet-stream'];
            header['Content-Disposition: attachment; filename=myimage.png'];
            header['Content-Transfer-Encoding: binary'];
            header['Expires: 0'];
            header['Cache-Control: must-revalidate, post-check=0, pre-check=0'];
            header['Pragma: public'];
            ob_clean[];
            flush[];
            readfile[base64_decode[$base64strImg]];
            exit;
0 để có thể gửi đi trong mạng một cách dễ dàng. Các nhị phân lúc này sẽ được hiển thị bằng các ký tự mã ASCII

Xin chào, làm cách nào để tải xuống XLSX đã được chuyển đổi thành cơ sở 64?
Tệp trả về trống.

tôi đã nhận

	header['Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'];
	header['Cache-Control: must-revalidate'];
	header['Expires: 0'];
	header['Pragma: public'];
	header['Content-Disposition: attachment; filename="' . $fileName.'.'.$fileExtension . '"'];	
	
	echo $file;
	
	if [ob_get_contents[] || ob_get_length[]] {
	  ob_end_clean[]; //or ob_end_flush[];
	}

	exit[];

Tôi muốn cung cấp một hình ảnh PNG để chỉ một số người dùng tải xuống và hình ảnh không được đặt ở bất kỳ đâu, vì vậy người dùng sẽ không nhìn thấy đường dẫn của nó

Nội dung chính Hiển thị

  • Bước 1. Hình ảnh BÀI ĐĂNG Base64
  • Bước 2. Hình ảnh Base64 Chuỗi Thay thế
  • Bước 3. hàm base64_decode
  • Bước 4. file_put_contents
  • Bước 5. Lưu hình ảnh base64
  • Làm cách nào để chuyển đổi chuỗi base64 thành hình ảnh trong php?
  • Làm cách nào để lưu tệp base64?
  • Làm cách nào để lưu hình ảnh trong nút base64?
  • Làm cách nào để lưu hình ảnh dưới dạng PNG?

Đó là lý do tại sao tôi chèn nó vào phần tải xuống. php dưới dạng hình ảnh base64. Vấn đề là, tuy nhiên, hình ảnh được cung cấp để tải xuống, nhưng nó hiển thị kích thước 0 B khi tải xuống

    $base64strImg = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAxoAAARjCAIAAABnqMWCAAAACXBIWXM...';
  header['Content-Description: File Transfer'];
            header['Content-Type: application/octet-stream'];
            header['Content-Disposition: attachment; filename=myimage.png'];
            header['Content-Transfer-Encoding: binary'];
            header['Expires: 0'];
            header['Cache-Control: must-revalidate, post-check=0, pre-check=0'];
            header['Pragma: public'];
            ob_clean[];
            flush[];
            readfile[base64_decode[$base64strImg]];
            exit;

Không biết vấn đề nằm ở đâu, nếu nó không thể xử lý hình ảnh lớn hoặc tại sao không thể tải xuống

Tôi cũng đã thử cách này

 header['Content-Disposition: attachment;filename="test.png"'];
            header['Content-Type: application/force-download'];
            echo base64_decode[$base64strImg];

Bây giờ hình ảnh có kích thước chính xác, nhưng vẫn không thể mở được sau khi tải xuống. Trình xem ảnh báo định dạng không được hỗ trợ

Và tùy chọn thứ ba - không giải mã, nó cũng có kích thước chính xác, nhưng vẫn không thể mở được

  header['Content-Description: File Transfer'];
        header['Content-Type: image/png'];
        header['Content-Disposition: attachment; filename=test.png'];
        header['Content-Transfer-Encoding: binary'];
        header['Expires: 0'];
        header['Cache-Control: must-revalidate'];
        header['Pragma: public'];
        header['Content-Length: ' . strlen[$base64strImg]];
        ob_clean[];
        flush[];
        echo $base64strImg;
        exit;

Tệp này chứa văn bản Unicode hai chiều có thể được diễn giải hoặc biên dịch khác với nội dung hiển thị bên dưới. Để xem lại, hãy mở tệp trong trình chỉnh sửa hiển thị các ký tự Unicode bị ẩn. Tìm hiểu thêm về các ký tự Unicode hai chiều

Chủ Đề