JavaScript实现桌面图标推拽直接上传

 

<!DOCTYPE html>

 

<html xmlns="http://www.w3.org/1999/xhtml">

 

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<style type="text/css">

#filedrag{

display: none;  

font-weight: bold;  

text-align: center;  

padding: 1em 0;  

margin: 1em 0;  

color: #555;  

border: 2px dashed #555;  

border-radius: 7px;  

cursor: default;  

}

#filedrag.hover{

color: #f00;

border-color: #f00;

border-style: solid;

box-shadow: inset 0 3px 4px #888;

}

#filedrag{

display: none;  

font-weight: bold;  

text-align: center;  

padding: 1em 0;  

margin: 1em 0;  

color: #555;  

border: 2px dashed #555;  

border-radius: 7px;  

cursor: default;  

}

#filedrag.hover{

color: #f00;

border-color: #f00;  

border-style: solid;  

box-shadow: inset 0 3px 4px #888;  

}

</style>

<script type="text/javascript">

window.onload = function(){

if (window.File && window.FileList && window.FileReader) {  

Init();

}

 

// initialize

function Init() {

var fileselect = document.getElementById("fileselect"),  

filedrag = document.getElementById("filedrag"),  

submitbutton =document.getElementById("submitbutton");  

// file select  

fileselect.addEventListener("change", FileSelectHandler, false);  

// is XHR2 available?  

var xhr = new XMLHttpRequest();

if (xhr.upload) {

// file drop

filedrag.addEventListener("dragover", FileDragHover, false);  

filedrag.addEventListener("dragleave", FileDragHover, false);  

filedrag.addEventListener("drop", FileSelectHandler, false);  

filedrag.style.display = "block";  

// remove submit button  

submitbutton.style.display = "none";  

}

}

 

//status output information  

function Output(msg) {  

var m = document.getElementById("messages");  

m.innerHTML = msg + m.innerHTML;  

}

 

function FileDragHover(e) {  

e.stopPropagation();

e.preventDefault();  

e.target.className = (e.type == "dragover" ? "hover" : "");  

}

 

function FileSelectHandler(e) {

// cancel event and hover styling

FileDragHover(e);

// fetch FileList object  

var files = e.target.files || e.dataTransfer.files;  

// process all File objects  

for (var i = 0, f; f = files[i]; i++) {  

ParseFile(f);  

}

}

 

function ParseFile(file) {  

Output(  

"<p>File information: <strong>" + file.name +  

"</strong> type: <strong>" + file.type +  

"</strong> size: <strong>" + file.size +  

"</strong> bytes</p>"  

);

}

}

 

</script>

 

</head>

<body>

 

<div id="output" class="clearfix">

<ul id="output-listing01"></ul>

</div>

<form id="upload" action="upload.php" method="POST" enctype="multipart/form-data">

<fieldset>

<legend>HTML File Upload</legend>  

<input type="hidden" id="MAX_FILE_SIZE" name="MAX_FILE_SIZE" value="300000" />

<div>

<label for="fileselect">Files to upload:</label>  

<input type="file" id="fileselect" name="fileselect[]" multiple="multiple" />

<div id="filedrag">or drop files here</div>  

</div>

<div id="submitbutton">  

<button type="submit">Upload Files</button>  

</div>

</fieldset>

</form>

<div id="messages">

<p>Status Messages</p>

</div> 

</body>

</html>



javascript 中的经典:

var xhr = new XMLHttpRequest();
xhr.open("post", "/××××", true);
// Set appropriate headers
xhr.setRequestHeader("Cache-Control", "no-cache");
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
xhr.setRequestHeader("fileName", file.name);
xhr.setRequestHeader("fileSize", file.size);
xhr.setRequestHeader("fileType", file.type);
xhr.setRequestHeader('gridID',gridIDFlag);
var formData = new FormData();
formData.append('myFile',file);
xhr.send(formData);
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值