2012-01-16 26 views
13

Tôi đang cố gắng để làm cho nó để mp3 trên trang web của tôi được tải xuống bằng cách nhấp chuột trái thay vì phải nhấp chuột phải và lưu như vậy, Vì vậy, để làm điều đó, tôi phải đặt Content-Disposition: attachment. Đây là trang web đầu tiên của tôi vì vậy tôi mới làm thế nào để thực sự làm điều này, nhưng tôi làm điều này trong đánh dấu html của tôi hoặc tôi đặt này bằng cách nào đó với trang web lưu trữ của tôi?Cách triển khai Content-Disposition: tệp đính kèm?

Dưới đây là ví dụ về hình thức đánh dấu của tôi.

<div class="download"> 
<a href="MP3/Morgan Page, Sultan & Ned Shepard, and BT feat. Angela McCluskey.mp3" 
<img src="img/dlicon.png"/></a> 
</div> 
+3

Đó là một hoạt động server-side và không thể được thực hiện thông qua mã HTML trên khách hàng. Bạn sẽ cần một tập lệnh trên máy chủ có thể hoạt động như máy chủ tải xuống và đó là tập lệnh sẽ phát hành tiêu đề Nội dung-Bố trí. –

+0

Bạn có thể cung cấp thêm thông tin không? Bạn đang sử dụng máy chủ web nào? –

+0

Tôi đang sử dụng HostGator.com –

Trả lời

17

Ví dụ về Danh sách MP3:

<a href="download.php?file=testing.mp3">Download MP3</a> 
<a href="download.php?file=testing2.mp3">Download MP3</a> 

download.php:

<?php 

$file = $_GET['file']; 

header('Content-type: audio/mpeg'); 

header('Content-Disposition: attachment; filename="'.$file.'"'); 

?> 
+4

Đoạn mã trên sẽ không thành công với dấu ngoặc kép và ký tự không phải ASCII trong tên tệp (xem RFC 6266). –

+0

@JulianReschke có, OP nên thay thế tên tệp (xem câu hỏi, tên tệp là: Morgan Page, Sultan & Ned Shepard và BT feat. Angela McCluskey.mp3). Tôi sẽ cập nhật câu trả lời của mình. –

+6

Lưu ý: trừ khi bạn thực sự cần điều khiển truy cập trên các tệp mp3, tốt hơn là chỉ định cấu hình máy chủ để phân phát các tệp mp3 đó với bộ tiêu đề bố cục nội dung. Sử dụng PHP như một máy chủ tập tin làm chậm mọi thứ xuống một chút, đặc biệt là với các tệp lớn. –

3

Như những người khác đã nói, bạn không làm điều đó trong HTML, và một giải pháp năng động (ví dụ , sử dụng PHP) là quá mức cần thiết.

Trong trường hợp của bạn, tôi sẽ định cấu hình tiêu đề Nội dung-Bố trí trong cấu hình máy chủ web. Đối với Apache, bạn có thể đặt tiêu đề based on location hoặc có tệp .htaccess khớp với tên tệp nhất định.

+2

Một giải pháp năng động cho điều này xảy ra mọi lúc trong phát triển ứng dụng. Hãy tưởng tượng ví dụ về việc phải xác thực trước khi cho phép nội dung đặc quyền. Kiểm tra xác thực và luồng tệp thường cần đến từ cùng một yêu cầu. – JoshuaDavid

Các vấn đề liên quan