AJAX image upload

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior PHP developer

Functie Het team bestaat inmiddels uit zo’n 25 collega’s met specialisten op het gebied van development, data(analyse), marketing, infrastructuur en finance. Ze hebben een supermodern pand en bieden hiernaast veel vrijheid en verantwoordelijkheid. Ze doen er alles aan om jou op te gemak te stellen. Zo kun je je eigen werkplek inrichten naar persoonlijke wensen, maar gaan ze bijvoorbeeld ook jaarlijks met elkaar wintersporten en zijn er andere leuke uitjes. Als onderdeel van één van de scrumteams ga je aan de slag, samen ben je medeverantwoordelijk voor het doorontwikkelen van hun business applicatie waar het traffic team dagelijks mee werkt.

Bekijk vacature »

Backend Developer Integraties API HBO REST

Samengevat: Deze werkgever is een IT-consultancy. Wil jij werken als Backend Developer Integraties? Heb jij kennis van gangbare berichtformaten? Vaste baan: Backend Developer Integraties API HBO €3.100 - €4.400 Zij bieden innovatieve oplossingen die bedrijven efficiënter en wendbaarder maken, waardoor onze klanten zich net zo snel kunnen ontwikkelen als de business van hen vraagt. Bij bij hun werk je aan onze eigen bedrijfsapplicaties. Je ontwikkelt met ons de meest nieuwe software. Wij blinken uit als het gaat om de inzet van technologie. Deze werkgever staat open voor elke nieuwe trend. Onze systemen zijn groot en ingewikkeld. Hou jij van diepgang

Bekijk vacature »

SQL database developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als SQL database developer? Dit bedrijf bouwt applicaties om processen in distributiecentra te optimaliseren. Ter uitbreiding van het development team zijn wij op zoek naar een SQL database ontwikkelaar. Wil jij werken voor een groeiende werkgever in regio Breda waar jij de ruimte en tijd krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je houdt je bezig met het creëren en bouwen van MS SQL server databases; Je werkt aan innovatieve softwareoplossingen voor het verbeteren en/of vernieuwen van logistieke processen; Je gaat projecten vanaf het begin tot het

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Voor een opdrachtgever in omgeving Zoetermeer zijn wij op zoek naar een ontwikkelaar ter versterking van het huidige developers team. Heb jij altijd al willen werken voor een bedrijf, dat veilige netwerkverbindingen levert, door middel van veilige oplossingen, die door middel van de nieuwste technologieën ontwikkelt zijn? Stop dan nu met zoeken! Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten

Bekijk vacature »

C# .Net Developer

Dit ga je doen Het bouwen van Api's; Nieuwe oplossingen bouwen met C# .Net; De huidige software uitbouwen met C# .Net; Meewerken in projecten; Meedenken aan de toekomstplannen en verbeteringen; Onderdeel van het Scrum Team. Hier ga je werken Onze klant is een dienstverlenende organisatie voor diverse soorten organisaties in Nederland. Ze zijn van oorsprong een familiebedrijf en er is een open cultuur. Ze zijn vooruitstrevend op IT gebied en hebben een eigen inhouse development team van circa 11 man. Je komt hier te werken in het subteam .Net Core. Hier werken ze volgens scrum met de nieuwste technieken en

Bekijk vacature »

Front-end Developer

Dit ga je doen Je komt in een DevOps-cultuur te werken waarbij je met je team werkt aan de front-end van diverse brand websites; Het ontwerpen van functionele en grafische ontwerpen die worden geïmplementeerd; Draagt zorg voor het maken van analyses; Je werkt nauw met je collega’s samen en geeft elkaar feedback en suggesties waar nodig; Het uitwerken van vraagstukken die afkomstig zijn van verschillende klanten; Hier ga je werken Deze marktleider op gebied van fietsen en fietservaring is gevestigd in twee provincies, verspreid over meerdere locaties. Jij zult voornamelijk in regio Joure aan de slag gaan. De organisatie doelt

Bekijk vacature »

Fullstack developer - medior

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie willen werken? Voor een mooi softwarebedrijf in omgeving Dordrecht zijn wij op zoek naar versterking voor op de afdeling Software Development! Als Fullstack developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Werkzaamheden Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met

Bekijk vacature »

Lead Webdeveloper

As Lead Web Developer at KUBUS you are responsible for the implementation design of requirements and the software architecture of the web application and services of BIMcollab. In your role as lead developer you will naturally search for the optimum between the required implementation time, the performance of the application and a fast go-to-market of features, in line with our automated test and release train. Together with the other senior developers in your team you monitor the architecture of the application and you advise the product owner about necessary refactoring to improve the maintainability of the platform. Our development team

Bekijk vacature »

Account Developer

Voor Bol.com zijn wij per direct op zoek naar een Account Developer voor 32-40 uur per week op het kantoor in Utrecht. Wil jij een directe bijdrage leveren door partners van de juiste data-inzichten te voorzien en via campagnes op nieuwe platformkansen en features te wijzen? Ben jij analytisch sterk en kun jij dit vertalen naar plannen en inspirerende gesprekken? Lees dan snel verder! wat bieden wij jou Salaris van €2400 - €2600 obv 40 uur Minimaal 6 maanden Werklocatie is Utrecht Werken bij bol.com wie ben jij Jij bent commercieel gedreven en weet altijd aan de juiste knoppen te

Bekijk vacature »

PHP ontwikkelaar

Functie Jij komt te werken in een development team van 9 man. Het grootste deel doet back end development en daarnaast is er 1 teamlead en 1 tester in het team. Dit Agile team is van groots belang voor de organisatie omdat zij voornamelijk alle eigen systemen in-house ontwikkelen. Naast het door ontwikkelen van het bestaande platform en de software die daarbij komt kijken, zul jij je ook bezighouden met het realiseren en opzetten van nieuwe projecten binnen het bedrijf. Je staat nauw met de klant in contact om zo hun wensen zo goed mogelijk te kunnen realiseren. Daarnaast ontwikkel

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Medior/senior Back-end developer wanted!

Functie Because of the growth within the company, we are looking for reinforcement in the devlopmenttean. As a back-end developer you build the company software that helps us with the primary processes. A fun (internal) project in which you continuously develop the software! You will work in a small team, we have daily stand-ups and a scrum session every fortnight, led by our Scrum Master. During these sessions, you get the opportunity to present your ideas and discuss them with your fellow developers and the Product Owner. Within the development teams, we use Trello, Gitlab, Jiira, Confluence and Boockstack. They

Bekijk vacature »

Outsystems Developer Junior

Dit ga je doen Bouwen aan nieuwe en innovatieve applicaties; Maken van koppelingen tussen Outsystems en het bestaande applicatielandschap; Troubleshooting op bestaande software. Hier ga je werken De organisatie is internationale speler binnen de bouwbranche en richt zich op de infrastructuur, zowel boven als onder de grond. Ze zijn ruim 1100 man groot en maken op IT vlak een mooie groei door. Als junior Outsystems Developer kom je te werken op een IT-afdeling van zo'n 25 man groot. Een aantal jaar geleden hebben ze de keuze gemaakt om zich meer te gaan richten op ontwikkeling en door de groei van

Bekijk vacature »

C# .NET Developer

Functie omschrijving C# .NET Developer gezocht. Ben jij een full stack developer die op zoek is naar een nieuwe uitdaging binnen een leuk snel groeiend bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Developer met ervaring op het gebied van .NET die een organisatie in de regio Bennekom gaat versterken. Jij gaat je binnen dit bedrijf vooral bezighouden met het verbeteren van de functionaliteiten van hun dataplatform. Samen met andere ontwikkelaars denk je mee in oplossingsrichtingen, architectuur en nieuwe technologieën. Bedrijfsprofiel De organisatie waar je voor gaat werken heeft een onafhankelijk dataplatform ontwikkelt voor de agrarische sector.

Bekijk vacature »

Low Code Developer voor o.a. overheidsprojecten!

Bedrijfsomschrijving Wil jij ook behoren tot de specialist in Low Code? Dan zou ik zeker aanraden om verder te lezen. Deze organisatie is ooit opgericht door twee studenten en is inmiddels uitgegroeid tot een serieuze werkgever met een groot aanzien op Low Code projecten. De sfeer is echter niet veranderd, er heerst een informele sfeer met een open deuren beleid, en hierin mag de eigen bar natuurlijk niet ontbreken. Momenteel maakt deze organisatie een flinke groei door en hier kan jij natuurlijk niet bij ontbreken. Daarom ben ik op zoek naar Low Code Developers met een degelijke technische achtergrond. Kennis

Bekijk vacature »
Mark Markson

Mark Markson

05/11/2013 15:55:37
Quote Anchor link
Hoi,

Ik wil een eigen imageupload schrijven. Eentje die niet de pagina ververst, maar eentje met AJAX, met Javascript. Ik heb een beetje gezocht naar Formdata etc. maar ik kom er maar niet uit. Iemand een leuke tutorial of een heel simpel stukje script?
 
PHP hulp

PHP hulp

24/04/2024 00:41:30
 
Frank Nietbelangrijk

Frank Nietbelangrijk

05/11/2013 17:01:56
Quote Anchor link
Javascript draait in een geïsoleerde omgeving en kan geen bestanden uploaden. Het beste alternatief is -denk ik- naar een java oplossing te kijken.
 
Kris Peeters

Kris Peeters

05/11/2013 17:05:29
Quote Anchor link
Ondertussen kan dat wel, hoor (vrij recent).

Geen java, geen plugins; ... gewoon javascript in HTML5.

Even zoeken of ik een demo klaar heb
 
Pipo Clown

Pipo Clown

05/11/2013 17:10:00
Quote Anchor link
Volgens mij kan je met javascript, i.c.m. AJAX, een stukje PHP-code uit laten voeren.

Met deze PHP-code is het wel degelijk mogelijk om een image te uploaden.
 
Kris Peeters

Kris Peeters

05/11/2013 17:43:33
Quote Anchor link
Dit maakt deel uit van iets wat ik half-afgewerkt in mijn (virtuele) kast heb steken; Wanneer dit echt van pas komt, doe ik voort ...

Benodigdheden (allemaal in de zelfde map steken):
"index.php"
"upload.php"
"files" (directory, op 777 zetten tijdens het testen)

werking:
De client sleept foto's in een drop-area; javascript genereert een preview (op zich al vrij cool)
De client drukt op de knop.
De foto's worden geüploadet, maar aan de pagina merk je daar voorlopig niets van (wegens code niet klaar).
Je vindt ze wel in de map files\

Kijk zeker ook naar de links die ik in het commentaar zet.

upload.php (merk op dat extra controle hier gewenst is)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
move_uploaded_file ( $_FILES['file']['tmp_name'] , 'files/' . $_FILES['file']['name'] );
?>


index.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<style>
#drop_files{
  width: 200px;
  height: 200px;
  border: 1px solid #000;
}
#preview{
  width: 300px;
  height: 600px;
  border: 1px solid #000;
  overflow: auto;
  background-color: #101010;
}
#preview li{
  height: 110px;
  width: 140px;
  /*float: left;*/
  list-style: none;
  border: 1px solid #999999;
  margin: 5px;
  background-color: #030303;
  color: #ff6666;
}
#preview img{
  max-height: 110px;
  max-width: 110px;
}
#preview .close{
  float: right;
}
</style>
<div id="drop_files"> Drag and drop image files here </div>
<input type="button" value="upload" id="upload_button">
<ul id="preview"></ul>
<script>
/**
* Upload file
* @see http://stackoverflow.com/questions/4856917/jquery-upload-progress-and-ajax-file-upload
*/
function upload(file, index) {
    var url = 'upload.php';
    //var file = this.files[0];
    
    var xhr = new XMLHttpRequest();
    xhr.file = file; // not necessary if you create scopes like this
    xhr.addEventListener('progress', function(e) {
        var done = e.position || e.loaded, total = e.totalSize || e.total;
        console.log('xhr progress: ' + (Math.floor(done/total*1000)/10) + '%');
    }, false);
    if ( xhr.upload ) {
        xhr.upload.onprogress = function(e) {
            var done = e.position || e.loaded, total = e.totalSize || e.total;
            console.log('xhr.upload progress: ' + done + ' / ' + total + ' = ' + (Math.floor(done/total*1000)/10) + '%');
        };
    }
    xhr.onreadystatechange = function(e) {
        if ( 4 == this.readyState ) {
            console.log(['xhr upload complete', e]);
        }
    };
    xhr.open('post', url, true);
    
    // Form data.  To give image a name.
    var fd = new FormData;
    fd.append('file', file);
    //fd.append('photo2', file2);
    //fd.append('index', index);
    xhr.send(fd);
}

/**
* preview image
* @see http://stackoverflow.com/questions/16861744/preview-an-image-before-it-is-uploaded-hide-broken-img
*/
function preview(files) {
  $('#drop_files').html(files.toString());
    if (files && files[0]) {
        for(var i=0; i<files.length; i++) {
          var reader = new FileReader();
          reader.onload = function (e) {
            $('#preview').append('<li><span class="close">X</span><img src="' + e.target.result + '"></li>');
          }
          reader.readAsDataURL(files[i]);
        }
    }
    //upload(files[0], 0);
}
/**
*  Drag drop file
* @see http://stackoverflow.com/questions/9544977/using-jquery-on-for-drop-events-when-uploading-files-from-the-desktop
*/
function drag_drop_files(e) {
  //
  $('#drop_files').on(
    'dragover',
    function(e) {
      e.preventDefault();
      e.stopPropagation();
    }
  )
  $('#drop_files').on(
    'dragenter',
    function(e) {
      e.preventDefault();
      e.stopPropagation();
    }
  )
  $('#drop_files').on(
    'drop',
    function(e) {
      if(e.originalEvent.dataTransfer) {
        if(e.originalEvent.dataTransfer.files.length) {
          e.preventDefault();
          e.stopPropagation();
          // copy file data to the uploadWidget
          
          // uploadWidget.files.push(e.originalEvent.dataTransfer.files.FileList);
          uploadWidget.files.push(e.originalEvent.dataTransfer.files);
          
          /*UPLOAD or PROCESS FILES HERE*/
          preview(e.originalEvent.dataTransfer.files);
          // refresh sortable
          $("#preview").sortable('refresh').disableSelection();
        }
      }
    }
  );
}

var uploadWidget = new Object();
uploadWidget.files = new Array();

$(document).ready(function() {
  drag_drop_files(null);
  
  $("#preview").sortable({
    update: function() {
      // voorlopig doen we hier niets
    }
  });
  
  $('#upload_button').click(function(e) {
    for(var i=0; i<uploadWidget.files[0].length; i++) {
      upload(uploadWidget.files[0][i], i);
    }
  });
  
});
</script>
Gewijzigd op 05/11/2013 17:57:26 door Kris Peeters
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.