jQuery 透過 AJAX 上傳檔案
上次有一篇提到可以用 plugin 上傳檔案,知道原理其實也可以不用透過 plugin ,最近剛好有一個需求所以就在朋友的幫忙下完成了。
準備簡單的 html 如下:
然後像這樣處理就可以了
參考:
Simple File Uploads Using jQuery & AJAX
準備簡單的 html 如下:
- <input type="file" name="upload_file" id="upload_file">
然後像這樣處理就可以了
- var pic;
- //if select file then upload
- $("#upload_file").on('change', uploadPic);
- function uploadPic(event){
- //file object
- pic = event.target.files;
- var data = new FormData();
- data.append("upload_file", pic[0]);
- $.ajax({
- url: 'upload_api',
- type: 'POST',
- data: data,
- cache: false,
- dataType: 'json',
- processData: false, // Don't process the files
- contentType: false, // Set content type to false as jQuery will tell the server its a query string request
- success: function(data, textStatus, jqXHR)
- {
- console.log(data);
- if(typeof data.error === 'undefined')
- {
- // Success so call function to process the form
- }
- else
- {
- // Handle errors here
- console.log('ERRORS: ' + data.error);
- }
- },
- error: function(jqXHR, textStatus, errorThrown)
- {
- // Handle errors here
- console.log('ERRORS: ' + textStatus);
- // STOP LOADING SPINNER
- }
- });
- }
參考:
Simple File Uploads Using jQuery & AJAX
留言