利用最新的Firefox支持的传送方式,实现无刷新的后台文件传送。
利用XMLHttpRequest将文件以二进制内容post到服务上:
<div id="dropZone" style="position:relative;border:solid 1px; width:200px; height:200px">Drop a file here</div>
<script type="text/javascript">
var req = new XMLHttpRequest();
req.open("POST", "upload.php");
req.overrideMimeType('text/plain; charset=x-user-defined-binary');
//初始化请求
var dropZone=document.getElementById("dropZone");
dropZone.addEventListener("dragover",onDragover,true);
dropZone.addEventListener("drop",onDrop,true);
function onDragover(event){
event.preventDefault();//防止浏览器打开文件
}
function onDrop(event){
event.preventDefault();//防止浏览器打开文件
var file = event.dataTransfer.files[0];
var bin=file.getAsBinary();
req.sendAsBinary(bin);//以二进制形式将数据传送到目标页面
//如果是纯文本,也可以以文本形式将数据读出,在服务器端再将数据写入文件即可:
//var s=file.getAsText("utf-8");
}
</script>
--
FROM 166.111.111.*