当前位置:首页 » 文件管理 » html5文件上传

html5文件上传

发布时间: 2022-01-22 18:42:17

⑴ 怎样用html5实现拖拽上传文件

,首先要判断拖入的文件是否符合要求,包括图片类型、大小等,然后获取本地图片信息,实现预览,最后上传。
$(function(){
...接上部分
var box = document.getElementById('drop_area'); //拖拽区域
box.addEventListener("drop",function(e){
e.preventDefault(); //取消默认浏览器拖拽效果
var fileList = e.dataTransfer.files; //获取文件对象
//检测是否是拖拽文件到页面的操作
if(fileList.length == 0){
return false;
}
//检测文件是不是图片
if(fileList[0].type.indexOf('image') === -1){
alert("您拖的不是图片!");
return false;
}

//拖拉图片到浏览器,可以实现预览功能
var img = window.webkitURL.createObjectURL(fileList[0]);
var filename = fileList[0].name; //图片名称
var filesize = Math.floor((fileList[0].size)/1024);
if(filesize>500){
alert("上传大小不能超过500K.");
return false;
}
var str = "<img src='"+img+"'><p>图片名称:"+filename+"</p><p>大小:"+filesize+"KB</p>";
$("#preview").html(str);

//上传
xhr = new XMLHttpRequest();
xhr.open("post", "upload.php", true);
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");

var fd = new FormData();
fd.append('mypic', fileList[0]);

xhr.send(fd);
},false);
});

⑵ html5超大文件上传如何实现

后端code
<?php

class Upload{
private $filepath = './upload'; //上传目录
private $tmpPath; //PHP文件临时目录
private $blobNum; //第几个文件块
private $totalBlobNum; //文件块总数
private $fileName; //文件名
private $md5FileName;

public function __construct($tmpPath,$blobNum,$totalBlobNum,$fileName, $md5FileName){
$this->tmpPath = $tmpPath;
$this->blobNum = $blobNum;
$this->totalBlobNum = $totalBlobNum;
$this->fileName = $this->createName($fileName, $md5FileName);
$this->moveFile();
$this->fileMerge();
}

⑶ html中怎么上传文件代码

在HTML标准中,XMLHttpRequest对象被重新定义,被称为“XMLHttpRequest Level 2”,其中包含了以下5个新特性:

1、支持上传、下载字节流,比如文件、blob以及表单数据。

2、增加了上传、下载中的进度事件。

3、跨域请求的支持。

4、允许发送匿名请求(即不发送HTTP的Referer部分)。

5、允许设置请求的超时。

    在这篇教程中,我们主要关注第一和第二项特性,尤其是第二项——它能够提供我们想要的上传进度。和之前的方案不同,这个方案并不要求服务器作出特殊的设置,因此大家边看教程就可以边动手试试了。

    上面图示的就是我们能够实现的内容:

    1、显示上传的文件信息,比如文件名、类型、尺寸。

    2、一个能够显示真实进度的进度条。

    3、上传的速度。

    4、剩余时间的估算。

    5、已上传的数据量。

    6、上传结束后服务器返回的响应。

    另外,凭借XMLHttpRequest,我们的上传过程整个都是异步的,因此用户在上传文件的时候,依然可以操作网页当中的其它元素,并不需要专门等待上传的完成。而在上传结束后,我们能够获取服务器发回的响应,因此整个上传过程都显得相当顺理成章。

⑷ 如何html5分割上传实现超大文件无插件网页上传

//代码不支持IE 因为IE对HTML5支持不好$("#file").change(function(event) { var file = $("#file")[0].files[0]; PostFile(file,0); });function PostFile(file,i){ var name = file.name, //文件名 size = file.size, //总大小shardSize = 2 * 1024 * 1024, shardSize = 2 * 1024 * 1024,//以2MB为一个分片 shardCount = Math.ceil(size / shardSize); //总片数 if(i >= shardCount){ return; } //计算每一片的起始与结束位置 var start = i * shardSize, end = Math.min(size, start + shardSize); //构造一个表单,FormData是HTML5新增的 var form = new FormData(); form.append("data", file.slice(start,end)); //slice方法用于切出文件的一部分 form.append("lastModified", file.lastModified); //slice方法用于切出文件的一部分 form.append("name", name); form.append("total", shardCount); //总片数 form.append("index", i + 1); //当前是第几片 //Ajax提交 $.ajax({ url: "/test/AjaxFile", type: "POST", data: form, async: true, //异步 processData: false, //很重要,告诉jquery不要对form进行处理 contentType: false, //很重要,指定为false才能形成正确的Content-Type success: function(data){ if(data){ i = data++; var num = Math.ceil(i*100 / shardCount); $("#output").text(num+'%'); PostFile(file,i); } } }); }

⑸ html点击button弹出选择文件,上传,这个怎么实现

<divclass="buttonoperating-button"id="fileUpdate-button">从Excel中批量导入</div>
<formaction=""id="fileUpdate-form">
<inputtype="file"name="filename"id="fileUpdate-input"style="display:none"/>
</form>
<scripttype="text/javascript">
//上传文件处理
varfileUpdate_button=document.getElementById("fileUpdate-button");
varfileUpdate_input=document.getElementById("fileUpdate-input");
varfileUpdate_form=document.getElementById("fileUpdate-form");
fileUpdate_button.onclick=function(){
fileUpdate_input.click();
}
fileUpdate_input.onchange=function(){
fileUpdate_form.submit();
}
</script>

⑹ ajax+html实现文件上传有哪几种方法

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>大文件切割上传</title>
<link rel="stylesheet" href="">
<script>
function selfile(){
const LENGTH = 1024 * 1024 * 10;//每次上传的大小
var file = document.getElementsByName('video')[0].files[0];//文件对象
var filename=document.getElementsByName('video')[0].files[0].name;
var totalSize = file.size;//文件总大小
var start = 0;//每次上传的开始字节
var end = start + LENGTH;//每次上传的结尾字节
var fd = null//创建表单数据对象
var blob = null;//二进制对象
var xhr = null;//xhr对象
while(start < totalSize){
fd = new FormData();//每一次需要重新创建
xhr = new XMLHttpRequest();//需要每次创建并设置参数
xhr.open('POST','upload.php',false);
blob = file.slice(start,end);//根据长度截取每次需要上传的数据
fd.append('video',blob);//添加数据到fd对象中
fd.append('filename',filename); //获取文件的名称
xhr.send(fd);//将fd数据上传

//重新设置开始和结尾
start = end;
end = start + LENGTH;

}

}
</script>
</head>
<body>
<h1>大文件切割上传</h1>
<input type="file" name="video" onchange="selfile();" />
</body>
</html>

⑺ jquery html5怎样把文件上传到文件夹

楼主你好!根据你的描述,让我来给你回答!

var fd = new FormData(document.getElementById("fileinfo"));

fd.append("CustomField", "This is some extra data");

$.ajax({

url: "stash.php",

type: "POST",

data: fd,

processData: false, // tell jQuery not to process the data

contentType: false // tell jQuery not to set contentType

});

希望能帮到你,如果满意,请记得采纳哦~~~

⑻ 用html5进行多文件上传的时候是一次性把所有已选择文件传到后台么

html传多个文件对前端来说是一股脑的提交,但是其实主要还是看后台是如何接收的。后台可以设置一次性接收的文件数据,文件大小等等。其实就和平时的上传下载是一样的。
以下载为例:下载的时候,比如用迅雷下载,你的本机是否可以选择并行下载、逐个下载还可以停止、继续下载。同样的,上传也是一个类似的过程,主要依靠服务器代码进行管理设置。本质上,是两个计算机之间相互传递数据流而已。
当然,在默认的时候,服务器是接收多个文件的,比如javaweb中struts2接收文件默认是接收完所有文件然后再操作的。

⑼ html5可以通过路径上传文件么

这个当然可以 只需要有合适的插件支持即可

⑽ 只使用html 怎样实现 上传文件

<!--STATUS OK-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>只使用html 怎样实现 上传文件?_网络知道 </title><link rel="alternate" type="application/rss+xml" title="“只使用html 怎样实现 上传文件?”的最新回答(RSS 2.0)" href="http://..com/q?ct=20&qid=68168077&pn=65535&rn=25&tn=rssqb">
<link href="/ikqb.css" rel="stylesheet" type="text/css">
</head>
<body><form action="http://localhost/UpLoadFile/Default.aspx" method="post" enctype ="multipart/form-data" runat="server">
<input id="File1" runat="server" name="UpLoadFile" type="file" />
<input type="submit" name="Button1" value="Button" id="Button1" />
</form>
</body>
</html>
然后保存到1.html 这个页面时静态页面。但是只能提交到动态页面去处理
后台页面是asp.net。
处理的页面时
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
if (Request.Files.Count >= 1)
{
HttpPostedFile postedFile = Request.Files[0];
string fileName, fileExtension;
fileName = System.IO.Path.GetFileName(postedFile.FileName); //文件名称
if (fileName != "")
{
fileExtension = System.IO.Path.GetExtension(fileName); //上传文件的扩展名
string new_filename = DateTime.Now.ToString("yyyyMMddHHmmss") + fileExtension; //给文件重新命名
//postedFile.FileName: 客户端文件地址
//postedFile.ContentType.ToString(): 上传的文件类型
//保存文件到文件夹,地址是当前页面的同一级目录下的files文件夹中
postedFile.SaveAs("D:\\file\\" + new_filename);
//.....可以把文件的相应信息保存到数据库中去。
//Response.Write("success");
Response.Redirect("reslut.aspx?result=true");
}
else
{
//Response.Write("false");
Response.Redirect("reslut.aspx?result=false");
}

}
}

}

热点内容
c数据导入数据库 发布:2025-01-11 20:07:55 浏览:824
可以上传片 发布:2025-01-11 20:07:55 浏览:789
outlook服务器邮件怎么找 发布:2025-01-11 20:06:12 浏览:92
javac编译jar 发布:2025-01-11 20:06:11 浏览:480
电脑服务器小功率 发布:2025-01-11 20:02:02 浏览:829
唱吧上传自己的歌 发布:2025-01-11 19:57:35 浏览:658
数据的存储结构包括哪些 发布:2025-01-11 19:56:52 浏览:356
数据库新闻表 发布:2025-01-11 19:55:23 浏览:232
压缩气翻译 发布:2025-01-11 19:42:51 浏览:745
安卓如何正确卡枪 发布:2025-01-11 19:29:57 浏览:751