Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (function(){
- //client side verification, for image types. Where f = File object
- function verifyImageType(f){
- var isImage = false;
- if(f.type.match('image.*')){
- isImage = true;
- }
- return isImage;
- }
- //constructor for sending info to the server
- function ImageInformation(imageNumber, targetResult, mimeType){
- this.imageNumber = imageNumber;
- this.targetResult = encodeURIComponent( targetResult.split(",")[1] );
- this.mimeType = mimeType;
- }
- function constructXMLHTTPRequest( imageNumber, sendTargetResult, mimeType ){
- var xmlHTTP = new XMLHttpRequest();
- var sendData = new ImageInformation(imageNumber, sendTargetResult, mimeType);
- sendData = JSON.stringify(sendData);
- sendTargetResult = "imageData="+sendData;
- xmlHTTP.onreadystatechange = function(){
- if( xmlHTTP.readyState == 4 && xmlHTTP.status == 200){
- var jsonResponse = JSON.parse(xmlHTTP.responseText);
- var actualNumber = jsonResponse.imageNumber-1;
- console.log("Image #" + jsonResponse.imageNumber + " Took " + jsonResponse.scriptTime + " to process.");
- console.time('profileGetElementByIdforImage'+actualNumber);
- document.getElementById("preview"+actualNumber).setAttribute("src", jsonResponse.fullPath);
- console.timeEnd('profileGetElementByIdforImage'+actualNumber);
- }
- };
- xmlHTTP.open("POST", "asyncGallery_PRELOAD.php", true);
- xmlHTTP.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
- xmlHTTP.send(sendTargetResult);
- }
- function loadImageFiles(e){
- var selectFiles = e.target.files;
- for(var i = 0, j; j = selectFiles[i]; i++){
- //verify that file is image
- if(!(verifyImageType(j))){
- continue;
- }
- var readFile = new FileReader();
- readFile.onload = (function(singleFile, imageNumber){
- return function(k){
- //send xmlhttprequest to server to process image.
- constructXMLHTTPRequest((imageNumber+1), k.target.result, singleFile.type);
- };
- })(j, i);
- readFile.readAsDataURL(j);
- var imagePreview = document.createElement('span');
- imagePreview.className = 'thumbnail';
- imagePreview.innerHTML = ['<img id="preview'+i+'" src="ajax-loader2.gif" />'];
- document.getElementById('imageForm').insertBefore(imagePreview, null);
- }
- }
- window.onload = function(){
- document.getElementById('imageFiles').addEventListener('change', loadImageFiles, false);
- }
- }());
Advertisement
Add Comment
Please, Sign In to add comment