Tôi đang tạo bộ điều khiển "Tải xuống" bằng Symfony 2, có mục đích duy nhất là gửi tiêu đề để tôi có thể tải xuống tệp .csv nhưng không hoạt động đúng cách.Làm cách nào để tải xuống tệp .csv trong Symfony 2, sử dụng đối tượng Response?
$response = new Response();
$response->headers->set('Content-Type', "text/csv");
$response->headers->set('Content-Disposition', 'attachment; filename="'.$fileName.'"');
$response->headers->set('Pragma', "no-cache");
$response->headers->set('Expires', "0");
$response->headers->set('Content-Transfer-Encoding', "binary");
$response->headers->set('Content-Length', filesize($fileName));
$response->prepare();
$response->sendHeaders();
$response->setContent(readfile($fileName));
$response->sendContent();
$fileName
là một chuỗi "info.csv"
. Đó là những hành động của tôi bên trong bộ điều khiển của tôi, không có câu trả lời nào. Khi tôi thử trả lại đối tượng Response
, nội dung của tệp được hiển thị trong trình duyệt, không phải kết quả dự định của tôi.
Vấn đề tôi đã tìm thấy là trong một số trang tôi có được info.csv file
của tôi, nhưng trong anothers tất cả tôi nhận được là một thông điệp:
No webpage was found for the web address: http://mywebpage.com/download
Error 6 (net::ERR_FILE_NOT_FOUND): The file or directory could not be found.
Tôi hoàn toàn chắc chắn rằng các tập tin tồn tại , do đó, phải có một điều sai trái. Ngoài ra, routing.yml đang hoạt động chính xác, vì tôi nhận được tệp từ các trang khác cũng liên kết đến đường dẫn đó. Nhật ký lỗi Apache không hiển thị bất cứ điều gì về nó.
Có ai đã buộc tải xuống tệp .csv trên Symfony 2 trước đây không? Nếu vậy, tôi đang làm gì sai?
$ tpldata không được xác định –