Tôi đang cố tạo động PDF nội tuyến, khi người dùng chọn lưu tệp, hãy nhắc bằng tên tệp tùy chỉnh của tôi. Theo số the documentation, thuộc tính saveasname
sẽ làm những gì tôi muốn.Bố cục nội dung bị bỏ qua trong IE 9 và Firefox 13
(định dạng = "PDF" chỉ) Tên tệp xuất hiện trong hộp thoại Lưu khi người dùng lưu tệp PDF được ghi vào trình duyệt.
Tuy nhiên, điều xảy ra trong cả IE 9 và Firefox 13.0.1 là tên tệp xuất hiện trong hộp thoại SaveAs giống với mẫu CF của tôi, nhưng có phần mở rộng PDF. (Nói cách khác, mã của tôi là ở makepdf.cfm
và SaveAs nhắc tôi lưu makepdf.pdf
.) Trong Chrome, tuy nhiên, mã hoạt động hoàn hảo. (Tất cả trên Windows 7.)
Đây là mã của tôi để tạo PDF:
<cfdocument format="pdf" bookmark="true" saveasname="MyReport.pdf">
Nếu tôi tuyên bố một cách rõ ràng việc xử lý nội dung và kiểu nội dung, như vậy
<cfheader name="Content-Disposition" value="inline; filename=MyReport.pdf">
<cfcontent type="application/x-pdf">
<cfdocument format="pdf" bookmark="true" saveasname="MyReport.pdf">
- Chrome cho tôi biết rằng "Nội dung Bố trí" đã được khai báo hai lần
- Firefox cho tôi biết tệp PDF bị hỏng
- IE chỉ cần bỏ qua nó (và vẫn không hiển thị tên tập tin ngay)
Nếu tôi chỉ dựa vào tiêu đề
<cfheader name="Content-Disposition" value="inline; filename=MyReport.pdf">
<cfcontent type="application/x-pdf">
<cfdocument format="pdf" bookmark="true">
tôi nhận được hành vi tương tự như trong đoạn đầu tiên của mã.
Tôi biết cách để trình duyệt nhắc tải xuống thay vì hiển thị nội tuyến và mọi thứ hoạt động như mong đợi, nhưng đó không phải là hành vi mong muốn.
Tôi cần sử dụng thời gian và ngày trong tên tệp và người dùng cuối không đủ hiểu biết để không ghi đè tệp của họ (nếu họ chọn lưu chúng).
Có điều gì tôi thiếu mà sẽ khiến IE và Firefox thực hiện những gì họ phải làm không? Những trình duyệt nào khác sẽ làm điều này? Safari di động?
URL viết lại không phải là một lựa chọn cho dự án đặc biệt này, nhưng đây là một số thông tin tốt để có cho tương lai. – ale
Hóa ra bạn không cần viết lại URL - chỉ cần thêm một dấu gạch chéo và tên tệp bạn đã chọn vào URL tập lệnh là đủ. Xem câu trả lời được cập nhật. – CfSimplicity