新标准的XMLHttpRequest支持上传文件,但是不支持html5的浏览器不行 html页面 !DOCTYPE html PUBLIC -//W3C//DTDXHTML1.0Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd html xmlns= http://www.w3.org/1999/xhtml head meta http-equiv= Content-Type content= text/htm
  
  新标准的XMLHttpRequest支持上传文件,但是不支持html5的浏览器不行
  html页面
<
!DOCTYPE html PUBLIC 
"-//W3C//DTD XHTML 1.0 Transitional//EN"
 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns=
"http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv=
"Content-Type"
 content=
"text/html; charset=utf-8"
 />
    <
title>Upload Files using XMLHttpRequest - Minimal<
/title>
    <
script type=
"text/javascript">
      
function fileSelected() {
        
var file = document.getElementById(
'fileToUpload').files[0];
        
if (file) {
          
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(
'fileName').innerHTML = 
'Name: ' + file.name;
          document.getElementById(
'fileSize').innerHTML = 
'Size: ' + fileSize;
          document.getElementById(
'fileType').innerHTML = 
'Type: ' + file.type;
        }
      }
      
function uploadFile() {
        
var fd = 
new FormData();
        fd.append(
"fileToUpload", document.getElementById(
'fileToUpload').files[0]);
        
var xhr = 
new XMLHttpRequest();
        xhr.upload.addEventListener(
"progress", uploadProgress, 
false);
        xhr.addEventListener(
"load", uploadComplete, 
false);
        xhr.addEventListener(
"error", uploadFailed, 
false);
        xhr.addEventListener(
"abort", uploadCanceled, 
false);
        xhr.open(
"POST"
"test2.php");
        xhr.send(fd);
      }
      
function uploadProgress(evt) {
        
if (evt.lengthComputable) {
          
var percentComplete = 
Math.round(evt.loaded * 100 / evt.total);
          document.getElementById(
'progressNumber').innerHTML = percentComplete.
toString() + 
'%';
        }
        
else {
          document.getElementById(
'progressNumber').innerHTML = 
'unable to compute';
        }
      }
      
function uploadComplete(evt) {
        
/* This event is raised when the server send back a response */
        alert(evt.target.responseText);
      }
      
function uploadFailed(evt) {
        alert(
"There was an error attempting to upload the file.");
      }
      
function uploadCanceled(evt) {
        alert(
"The upload has been canceled by the user or the browser dropped the connection.");
      }
    <
/script>
<
/head>
<
body>
<
form id=
"form1"
 enctype=
"multipart/form-data"
 method=
"post"
 action=
"upload.php">
<
div class=
"row">
      <
label for=
"fileToUpload">Select a File to Upload<
/label>
<
input type=
"file"
 name=
"fileToUpload"
 id=
"fileToUpload"
 οnchange=
"fileSelected();"
/>
    <
/div>
<
div id=
"fileName"><
/div>
<
div id=
"fileSize"><
/div>
<
div id=
"fileType"><
/div>
<
div class=
"row">
<
input type=
"button"
 οnclick=
"uploadFile()"
 value=
"Upload"
 />
    <
/div>
<
div id=
"progressNumber"><
/div>
<
/form>
<
/body>
<
/html>