- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi all, I am a beginner in XDK from few weeks only, I have an important task and it is urgent
I am trying to upload image from my mobile app to a server using a WebService and I tried this code
https://software.intel.com/en-us/forums/intel-xdk/topic/599993
but it is not working for me,Here is my code
this is web service
[WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. // [System.Web.Script.Services.ScriptService] public class FileUploader : System.Web.Services.WebService { public FileUploader () { //Uncomment the following line if using designed components //InitializeComponent(); } [WebMethod] public void SaveImage() { if (!System.IO.Directory.Exists(HttpContext.Current.Server.MapPath("~/Folder Name on the server"))) { System.IO.Directory.CreateDirectory(HttpContext.Current.Server.MapPath("~/Folder name on server/")); } string path = HttpContext.Current.Server.MapPath("~/Folder Name on server/").ToString(); var Request = HttpContext.Current.Request; if (Request.Files.Count > 0) { var file = Request.Files[0]; file.SaveAs(path + file.FileName); } } }
And here is the xdk code
<!DOCTYPE html> <html> <head> <title>Take or select photo(s) and upload</title> <script type="text/javascript"> var filename; function fileSelected() { var count = document.getElementById('fileToUpload').files.length; document.getElementById('details').innerHTML = ""; for (var index = 0; index < count; index ++) { var file = document.getElementById('fileToUpload').files[index]; var fileSize = 0; if (file.size > 1024 * 1024) fileSize = (Math.round(file.size * 100 / (1024 * 1024)) / 100).toString() + 'MB'; else fileSize = (Math.round(file.size * 100 / 1024) / 100).toString() + 'KB'; document.getElementById('details').innerHTML += 'Name: ' + file.name + '<br>Size: ' + fileSize + '<br>Type: ' + file.type; document.getElementById('details').innerHTML += '<p>'; filename = file.name; } } function getFileToUpload(){ var fileURL = (getWebPath() + filename); uploadImage(fileURL); } function getWebPath() { "use strict" ; var path = window.location.pathname ; path = path.substring( 0, path.lastIndexOf('/') ) ; return 'file://' + path ; } function uploadImage(fileURL) { var win = function (r) { alert("Code = " + r.responseCode); alert("Response = " + r.response); alert("Sent = " + r.bytesSent); }; var fail = function (error) { alert("An error has occurred: Code = " + error.code); alert("upload error source " + error.source); alert("upload error target " + error.target); }; var options = new FileUploadOptions(); options.fileKey = "File"; options.fileName = fileURL.substr(fileURL.lastIndexOf('/') + 1); //options.fileName = "Strabburg.jpg"; options.mimeType = "image/jpeg"; var params = {}; params.action = "save"; params.name = fileURL.substr(fileURL.lastIndexOf('/') + 1); options.params = params; var ft = new FileTransfer(); ft.upload(fileURL, encodeURI("http://www.serverURL/FileUploader.asmx/SaveImage"), win, fail, options); } </script> <script src="intelxdk.js"></script> <script src="cordova.js"></script> <script src="xhr.js"></script> <script src="js/app.js"></script> <script src="js/init-app.js"></script> <script src="js/init-dev.js"></script> </head> <body> <form id="form1" enctype="multipart/form-data" method="post" action="Upload.aspx"> <div> <label for="fileToUpload">Take or select photo(s)</label><br /> <input type="file" name="fileToUpload" id="fileToUpload" onchange="fileSelected();" accept="image/*" capture="camera" /> </div> <div id="details"></div> <div> <input type="button" onclick="getFileToUpload()" value="Upload" /> </div> <div id="progress"></div> </form> </body> </html>
- Tags:
- HTML5
- Intel® XDK
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I've asked one of my colleagues to help you.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks a lot for your effort, but really I need this problem to be solved as soon as possible and I need your help
I tried to solve the problem, but now when I click on the upload button I have error says: An error has occurred: Code = 1
Thanks in advance
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
when I take the photo using the camera the Image URL is correct and there is no errors
But when I take the Photo from photo library using (pictureSource.PHOTOLIBRARY) the Image URl is incorrect file:///storage/emulated/0/Android/data/demo.ionicangularjsstarter/cache/image_name.jpg?1460538221110
at the end of the URL after the extension .jpg there is ?1460538221110 and I don't know what is this
function onPhotoDataSuccess(imageURI) { alert("fire"); // Uncomment to view the base64-encoded image data console.log(imageURI); // Get image handle // var cameraImage = document.getElementById('image'); // Unhide image elements // cameraImage.style.display = 'block'; // Show the captured photo // The inline CSS rules are used to resize the image // cameraImage.src = imageURI; } // Called when a photo is successfully retrieved // function onPhotoURISuccess(imageURI) { alert("fire"); // Uncomment to view the image file URI console.log(imageURI); // Get image handle // var galleryImage = document.getElementById('image'); // Unhide image elements // galleryImage.style.display = 'block'; // Show the captured photo // The inline CSS rules are used to resize the image // galleryImage.src = imageURI; } // A button will call this function // function capturePhoto() { // Take picture using device camera and retrieve image as base64-encoded string navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 30, targetWidth: 600, targetHeight: 600, destinationType: destinationType.FILE_URI, saveToPhotoAlbum: true }); } // A button will call this function // function getPhoto(source) { // Retrieve image file location from specified source navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 30, targetWidth: 600, targetHeight: 600, destinationType: destinationType.FILE_URI, sourceType: source }); }
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you @Rakshith Krishnappa , I made a quick solution that I substring the image URL from ? to the end of the URL and it is working.
But this function pictureSource.SAVEDPHOTOALBUM or this pictureSource.PHOTOLIBRARY is not working on some android mobile.
how can I use this function on all android mobiles.
Thanks in advance
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Good morning,
I hope you can help me, I’m developing an enterprise application that work. is made in HTML, PHP, JavaScript as the design for a web environment, only the android application made XDK place it in an iframe It works well hsta the point where I have to upload some files to the server from the browser I can upload multiple files at once, but from the android application I can only upload one at a time.
I could help’ll be very grateful.
sorry for my English.
Thank you!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Eliezer -- please search the web for "cordova phonegap app upload files" for help.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page