Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Can not upload .apk file in CodeIgniter

Posted on 2011-09-19
12
Medium Priority
?
2,136 Views
Last Modified: 2012-05-12
Hello,

I am working on application that upload some kind of file from PC to the server. I am using Codeigniter PHP frame work. The kind of files are either images (gif, jppg, png) and Android application package file (.apk). With images file the code work fine but when I am trying to upload .apk it give me:

The filetype you are attempting to upload is not allowed.

I added this line in the mime.php file in the Codeigniter config:
'apk' => 'application/vnd.android.package-archive'

Open in new window


What is missing or I have to do ??
0
Comment
Question by:Ahmed Merghani
  • 6
  • 4
  • 2
12 Comments
 
LVL 4

Expert Comment

by:h4hardy
ID: 36565207
Hi fishboy,

you can try with the below code,

$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png|apk';
$config['max_size'] = '100';
$config['max_width'] = '1024';
$config['max_height'] = '768';

$this->load->library('upload', $config);

// Alternately you can set preferences by calling the initialize function. Useful if you auto-load the class:
$this->upload->initialize($config);

Open in new window

0
 
LVL 7

Accepted Solution

by:
boon86 earned 2000 total points
ID: 36565215
hi,

you probably need to add the mime type to mimes.php and to config files. Please read:

http://codeigniter.com/user_guide/libraries/file_uploading.html
and
http://codeigniter.com/forums/viewthread/145893/

hope that help.
0
 
LVL 8

Author Comment

by:Ahmed Merghani
ID: 36565819
Thanks all for reply.
h4hardy, I forget to mention that I already apply your code.
boon86, I will go throw the links and feedback.

regards
0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
LVL 4

Expert Comment

by:h4hardy
ID: 36565847
hi fishboy,

so is that not working?
0
 
LVL 8

Author Comment

by:Ahmed Merghani
ID: 36565988
yes did not work and give me this as I mentioned:

The filetype you are attempting to upload is not allowed.

Open in new window

0
 
LVL 7

Expert Comment

by:boon86
ID: 36566054
try add: inside this: system/application/config/mimes.php

'apk'    =>    array('application/vnd.android.package-archive', 'application/x-download', 'application/unknown'),

if not work try:
'apk'    =>    array('application/vnd.android.package-archive', 'application/x-download', 'application/force-download'),


also inside your .htaccess:

AddType application/vnd.android.package-archive apk


hope that help
0
 
LVL 8

Author Comment

by:Ahmed Merghani
ID: 36566538
Thanks boon86 for response I tried the first and second code but give the same error.

regarding the .htaccess file, where I can find it?

NOTE: I am using CodIgniter version 2.0.3.
0
 
LVL 7

Expert Comment

by:boon86
ID: 36566685
.htaccess can be found on directory of:

/public_html/
/htdocs/
/httpdocs/
/www/

depend on your server setting.
0
 
LVL 8

Author Comment

by:Ahmed Merghani
ID: 36568425
I am using WAMP on window XP. I did not found the file in any one of the suggested directory.

But in CodeIgniter I found it in the application directory and this is the content:
Deny from all

Open in new window


I try to add/replace with "AddType application/vnd.android.package-archive apk" but still the same result.
0
 
LVL 7

Expert Comment

by:boon86
ID: 36571546
i forget the . symbol:

try add this inside .htaccess where your project working on:
AddType application/vnd.android.package-archive .apk

Open in new window

0
 
LVL 8

Author Comment

by:Ahmed Merghani
ID: 36571810
boon86, yes I tried this but the same.

Any one can help?
0
 
LVL 8

Author Comment

by:Ahmed Merghani
ID: 36572064
Hi boon86,

Your comments and above links specially the second one lead me to the solution.

Find the mimes.php. For CodeIgniter version 2.x, it will be inside:
application/config/

And for previous version, it will be inside:
system/application/config/

Add this line:
'apk' => 'application/octet-stream'

Open in new window


This work fine but I advice to add this line:
'apk' => array('application/vnd.android.package-archive', 'application/octet-stream')

Open in new window


Thanks all for help.
0

Featured Post

NEW Veeam Agent for Microsoft Windows

Backup and recover physical and cloud-based servers and workstations, as well as endpoint devices that belong to remote users. Avoid downtime and data loss quickly and easily for Windows-based physical or public cloud-based workloads!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Build an array called $myWeek which will hold the array elements Today, Yesterday and then builds up the rest of the week by the name of the day going back 1 week.   (CODE) (CODE) Then you just need to pass your date to the function. If i…
This article discusses how to implement server side field validation and display customized error messages to the client.
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…
Suggested Courses

926 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question