『壹』 javaScript 大文件分片上传处理如何实现
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>upload</title> <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script> </head> <body> <input type="file" name="file" id="file"> <button id="upload" onClick="upload()">upload</button> <script type="text/javascript"> var bytesPerPiece = 1024 * 1024; // 每个文件切片大小定为1MB . var totalPieces; //发送请求 function upload() { var blob = document.getElementById("file").files[0]; var start = 0; var end; var index = 0; var filesize = blob.size; var filename = blob.name; //计算文件切片总数 totalPieces = Math.ceil(filesize / bytesPerPiece); while(start < filesize) { end = start + bytesPerPiece; if(end > filesize) { end = filesize; } var chunk = blob.slice(start,end);//切割文件 var sliceIndex= blob.name + index; var formData = new FormData(); formData.append("file", chunk, filename); $.ajax({ url: 'http://localhost:9999/test.php', type: 'POST', cache: false, data: formData, processData: false, contentType: false, }).done(function(res){ }).fail(function(res) { }); start = end; index++; } } </script> </body> </html>
『贰』 js代码是放在一个大文件好还是分成几个文件好
在项目开发中,一般是文件加载路径越少越好,所以很多时候都是在项目开发中文件有很多个,但是在项目发布的时候,打包整合到一个文件当中,当然你自己想分开引用或者不必要打包的第三方路径除外,整合工具可以用gulp或者webpack都可以
『叁』 如何用javascript操作本地文件
如果要使用JavaScript操作本地文件,针对于现在的浏览器来说只有IE可以有权限直接操作文件,其他浏览器是不能实现的下面是操作文件的例子,你试试看:<script type="text/javascript">/** *CreateFile: 测试在电脑上创建一个文件件,并在文件夹里写进一些数据。 * */function CreateFile(){ var fso, tf; fso = new ActiveXObject("Scripting.FileSystemObject");//获取对象 tf = fso.CreateTextFile("c:\\testfile.txt", true);//创建一个文件夹 // 写一行,并且带有新行字符。 tf.WriteLine("Testing 1, 2, 3.") ; // 向文件写三个新行字符。 tf.WriteBlankLines(3) ; // 写一行。 tf.Write ("This is a test."); tf.Close();//关闭}/** *Folder的API: *任务 方法 *创建文件夹。 FileSystemObject.CreateFolder *删除文件夹。 Folder.Delete 或 FileSystemObject.DeleteFolder *移动文件夹。 Folder.Move 或 FileSystemObject.MoveFolder *复制文件夹。 Folder.Copy 或 FileSystemObject.CopyFolder *检索文件夹的名字。 Folder.Name *如果文件夹在驱动器上存在,则找出它。 FileSystemObject.FolderExists *获得现有 Folder 对象的实例。 FileSystemObject.GetFolder *找出文件夹的父文件夹名。 FileSystemObject.GetParentFolderName *找出系统文件夹的路径。 FileSystemObject.GetSpecialFolder */function ManipFiles(){ var fso, f1, f2, s; fso = new ActiveXObject("Scripting.FileSystemObject"); f1 = fso.CreateTextFile("c:\\testfile.txt", true); //如果当前文件已经存在的话,则覆盖原有文件 alert("Writing file <br>"); // 写一行。 f1.Write("This is a test."); // 关闭文件。 f1.Close(); alert("Moving file to c:\\tmp <br>"); if(!fso.FolderExists("c:\\tmp")) { //如果tmp目录不存在,则创建一个目录 fso.CreateFolder("c:\\tmp"); } // 获取 C 的根目录(C:\)中的文件的句柄。 f2 = fso.GetFile("c:\\testfile.txt"); // 把文件移动到 \tmp 目录。如果这个tmp目录下已经有testfile.txt文件了,则会出错。(如果没有tmp这个文件目录也会出错) f2.Move ("c:\\tmp\\testfile.txt"); alert("Copying file to c:\\temp <br>"); // 把文件复制到 \temp 目录 if(!fso.FolderExists("c:\\temp")) {//如果temp目录不存在,则创建一个目录 fso.CreateFolder("c:\\temp"); } f2.Copy ("c:\\temp\\testfile.txt"); alert("Deleting files <br>"); // 获得文件当前位置的句柄。 f2 = fso.GetFile("c:\\tmp\\testfile.txt"); f3 = fso.GetFile("c:\\temp\\testfile.txt"); // 删除文件。 f2.Delete(); f3.Delete(); //删除文件夹 // www.jquerycn.cn var fdTmp = fso.GetFolder("c:\\tmp"); var fdTemp = fso.GetFolder("c:\\temp"); fdTmp.DeleteFolder(); fdTemp.DeleteFolder(); alert("All done!");}ManipFiles();//CreateFile();alert("Ok! Write Over!");</script>
『肆』 js 大文件分片上传处理如何实现
推荐采用webuploader控件来解决。关于WebUploader的功能说明:大文件上传续传支持超大文件上传(100G+)和续传,可以关闭浏览器,重启系统后仍然继续上传。开源提供ASP.NET,JSP,PHP示例和源代码,其中JSP提供MySQL,Oracle,SQL Server数据库的配置和示例代码。分片、并发分片与并发结合,将一个大文件分割成多块,并发上传,极大地提高大文件的上传速度。当网络问题导致传输错误时,只需要重传出错分片,而不是整个文件。另外分片传输能够更加实时的跟踪上传进度。预览、压缩支持常用图片格式jpg,jpeg,gif,bmp,png预览与压缩,节省网络数据传输。解析jpeg中的meta信息,对于各种orientation做了正确的处理,同时压缩后上传保留图片的所有原始meta数据。多途径添加文件支持文件多选,类型过滤,拖拽(文件&文件夹),图片粘贴功能。上传本地指定路径的文件,不需要通过点击按钮选择文件。粘贴功能主要体现在当有图片数据在剪切板中时(截屏工具如QQ(Ctrl + ALT + A), 网页中右击图片点击复制),Ctrl + V便可添加此图片文件。HTML5 & FLASH兼容主流浏览器和低版本浏览器,接口一致,实现了两套运行时支持,用户无需关心内部用了什么内核。而且支持IE6,IE8浏览器。同时Flash部分没有做任何UI相关的工作,方便不关心flash的用户扩展和自定义业务需求。基于内存映射模式进行IO操作,充分发挥操作系统性能。MD5秒传当文件体积大、量比较多时,支持上传前做文件md5值验证,一致则可直接跳过。如果服务端与前端统一修改算法,取段md5,可大大提升验证性能,耗时在20ms左右。易扩展、可拆分采用可拆分机制, 将各个功能独立成了小组件,可自由搭配。采用AMD规范组织代码,清晰明了,方便高级玩家扩展。
『伍』 如何用javascript操作本地文件
js被设计为沙箱式语言,理论上讲是不应该去访问本地文件系统的。但是网上有访问本地文回件的操作,是通过答ActiveXObject。但是这种写法绑架了浏览器,跟IE绑死,所以建议你如果可以的话,最好不要存类似心思,而是通过其他后台逻辑传送文件内容。
『陆』 JAVASCRIPT中如何截取文件名,不要后缀。如abc.jpg.只截取出abc.
var str="abc.jpg";var reg=/^(.*\.)[^.]+$/;str.replace(reg,"$1")
『柒』 如何将JavaScript代码从HTML文件中分离出来
将JavaScript代码从HTML文件中分离出来,我们只是需要将JS的代码都统一写在一个文件中,然后我们在通过window.onload的事件,这个就是html先加载完成,然后才会调用JS文件,这里还是通过代码来体现: html中:<html> <head></head> <script type="text/javascript" src="waterfall1.js"></script> <script type="text/javascript" src="jquery.js"></script> </html> JS文件中: window.onload = function(){ alert('我是JS文件代码'); }
『捌』 如何用javascript操作本地文件
浏览器环境中的javascript是不能够操作本地文件的。nodejs中的javascript是可以操作本地文件的。详情请看nodejs的 文件系统(File system)官方文档。