10/10/2018, 09:29
Xây dựng ứng dụng download cho điện thoại
Em đang xây dựng chương trình ứng dụng tải nhạc cho công ty, nhưng hiện nay em đang dính phải một lỗi mà cũng ko hiểu tại sao nó lại bị thế, bác nào biết xin chỉ giúp:
- Nếu em dùng một số dòng điện thoại đời cao(có trình duyệt hỗ trợ) thì khi click vào thì nó trả về tên file tương ứng: ví dụ: nhac.mp3.
- Nhưng nếu em dùng dòng điện thoại chỉ có Trình duyệt WAP 2.0/xHTML, HTML, thì khi tải về, nó tải luôn file download.php về, mà ko trả file nhac.mp3
- Sau dây là code trong file download.php của em:
$filename1 = "nhac.mp3" ;
header('Content-type: application/octet-stream');
//mở file để đọc với chế độ nhị phân (binary)
$fp1 = fopen($upload_dir.$filename1, "rb");
header('Content-disposition: attachment; filename="'.$filename1.'"');
header('Content-length: ' . filesize($upload_dir.$filename1));
//đọc file và trả dữ liệu về cho browser
fpassthru($fp1);
fclose($fp1);
- Nếu em dùng một số dòng điện thoại đời cao(có trình duyệt hỗ trợ) thì khi click vào thì nó trả về tên file tương ứng: ví dụ: nhac.mp3.
- Nhưng nếu em dùng dòng điện thoại chỉ có Trình duyệt WAP 2.0/xHTML, HTML, thì khi tải về, nó tải luôn file download.php về, mà ko trả file nhac.mp3
- Sau dây là code trong file download.php của em:
$filename1 = "nhac.mp3" ;
header('Content-type: application/octet-stream');
//mở file để đọc với chế độ nhị phân (binary)
$fp1 = fopen($upload_dir.$filename1, "rb");
header('Content-disposition: attachment; filename="'.$filename1.'"');
header('Content-length: ' . filesize($upload_dir.$filename1));
//đọc file và trả dữ liệu về cho browser
fpassthru($fp1);
fclose($fp1);
Bài liên quan
Nhất là trên phone thì càng lộn xộn nữa.
Trên phone còn tùy thuộc vào đó là loại file j và phone j.
Bác ko thể nói là đao file chung chung đc..
vd :
đao file ứng dụng
dòng symbian :
- sis : Content-type: application/vnd.symbian.install
- sisx : Content-Type: x-epoc/x-sisx-app
dòng palm :
chỉ cần Content-type: text/plain
application/octet-stream là 1 kiểu có thể xem là "chung chung" khi dùng trên PC. Và hầu hết các phone đang được dùng thông dụng hiện tại ở việt nam đều ko hỗ trợ.
Còn các loại file khác thì bác phải tự set lại content type cho chính xác.
Đây là list các content type ứng với extension này, bác thử set cho thích hợp rồi báo kết quả nhé. Đang quan tâm
audio/x-mpegurl m3u
audio/mpegurl m3u
text/vnd.wap.wml wml
application/vnd.wap.wmlc wmlc
text/vnd.wap.wmlscript wmls
application/vnd.wap.wmlscriptc wmlsc
image/vnd.wap.wbmp wbmp
application/java-archive jar
application/x-java-archive jar
text/vnd.sun.j2me.app-descriptor;charset=UTF-8 jad
application/vnd.symbian.install sis
application/vnd.symbian.install sisx
audio/3gpp 3gp
video/3gpp 3gp
audio/x-wav wav
audio/amr amr
audio/amr-wb awb
audio/mpeg mp3
audio/x-midi mid
audio/midi mid
audio/midi midi
application/x-smaf mmf
application/vnd.smaf mmf
application/vnd.mophun.application mpn
application/vnd.mophun.application mpc
application/vnd.eri.thm thm
application/vnd.nok-s40theme nth
header('Content-type: audio/mpeg');
Nhưng mà kết quả trả về vẫn chưa được chuẩn lắm, hic.Trả được đúng định dạng, nhưng mà chưa trả đúng tên file, hic
ĐT tôi chỉ hỗ trợ GPRS, ko có wifi, nên ko dám test mấy trò đao loát này