Get a file from PhotoGallery and copy it to your directory in your project resources in Titanium(iPhone or ANDROID).

By | May 3, 2011

This example opens the photogallery and then when you select a file from it , it will be copied to your resources directory.
First manually create a directory in your resources, here the directory is named “mydirectory”.
Call this functiion inside a button click or something

var directory = "mydirectory"
 Titanium.Media.openPhotoGallery({
	success:function(event)
	{
		var cropRect = event.cropRect;
		var image = event.media;
		var mime_type = image.mimeType;  	// Getting the file type.....
		var arr = Array();
		arr = mime_type.split('/');
		var image_type = arr[1];
		if(event.mediaType == Ti.Media.MEDIA_TYPE_PHOTO)
		{
			var image_name = "My_img""."+arr[1];
			Ti.API.info(image_name);
			var filename = Titanium.Filesystem.resourcesDirectory +  directory + image_name;
			var bgImage = Titanium.Filesystem.getFile(filename);
			bgImage.write(image);                  	//write the image binary to new image file.
	},
	cancel:function()
	{	Ti.API.info(' Cancelled ');		},
	error:function(error)
	{  	Ti.API.info(' An error occurred!! ');	 	},
	allowEditing:true,
	mediaTypes:[Ti.Media.MEDIA_TYPE_PHOTO]
});

Now after running this code check the directory you have created.

If you want to delete the image use this

var file = Titanium.Filesystem.getFile(Titanium.Filesystem.resourcesDirectory+"/"+directory +"/"+My_img.png);
file.deleteFile();

Note: Change it to appropriate file extension.

If you want to list all the files inside the directory use this code…

var my_dir = Titanium.Filesystem.getFile(Titanium.Filesystem.resourcesDirectory+"/"+directory+"/");
		var files = my_dir.getDirectoryListing().toString();
		Ti.API.info('directoryListing = ' + files);
		var files_array = Array();
		files_array = gal_files.split(',');
		var num_of_files = files_array.length;

If you want to delete a directory Use this

	var my_dir= Titanium.Filesystem.getFile(Titanium.Filesystem.resourcesDirectory+"/"+directory+"/");
		 	if(my_dir.exists()){
				var files = gal_dir.getDirectoryListing().toString();
				var files_array = Array();
				files_array = gal_files1.split(',');
				var num_of_files = gal_files_array1.length;

				for(var j = 0; j < num_of_files ; j++){
					var file1 = Titanium.Filesystem.getFile(Titanium.Filesystem.resourcesDirectory+"/"+directory+"/"+files_array[j]);
					file1.deleteFile();
				}
				my_dir.deleteDirectory();
		 	}

Please leave your valuable comments.

2 thoughts on “Get a file from PhotoGallery and copy it to your directory in your project resources in Titanium(iPhone or ANDROID).

  1. Ammar

    Snippet 1 not working for me.

    Titanium SDK = 2.1.1
    Host OS = Mac OS X 10.6.8
    Mobile platform = iOS 5

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *