js文件上传|几种js实现的动态多文件上传

⑴ js本地文件怎么上传到服务器ftp

下载一个ftp连接工具,安装以后点连接,输入服务器的ftp连接信息,如ip,用户名密码等连接成功后,将文件传输到对应的文件目录下。

⑵ 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规范组织代码,清晰明了,方便高级玩家扩展。

⑶ 后缀名为“.js”的文件要到那里上传,怎么上传

后缀名为js的文件是javascript的文件,和其它.htm.jsp.asp文件一样,用cuteftp等上传工具直接传到服务器上,和别的文件处理方式没什么区别的。

⑷ 几种js实现的动态多文件上传

方式一:事先写好多个input.在点击时才显示。也就是说上传的最大个数是写死了的。 html<p><a href='#' onclick='javascript:viewnone(more1)'> 添加附件 </a><div id='more1' style='display:none'> <input type="file" name="attach1" size="50"javascript:viewnone(more2)> </span></div><div id='more2' style='display:none'> <input type="file" name="attach2" size="50"'></div></p>js<SCRIPT language="javascript"> function viewnone(e){ e.style.display=(e.style.display=="none")?"":"none"; }</script>方式二:这种方式的动态多文件上传是实现了的,很简单的,不说废话看codehtml<input type="button" name="button" value="添加附件" onclick="addInput()"><input type="button" name="button" value="删除附件" onclick="deleteInput()"><span id="upload"></span>js<script type="text/javascript"> var attachname = "attach"; var i=1; function addInput(){ if(i>0){ var attach = attachname + i ; if(createInput(attach)) i=i+1; } } function deleteInput(){ if(i>1){ i=i-1; if(!removeInput()) i=i+1; } } function createInput(nm){ var aElement=document.createElement("input"); aElement.name=nm; aElement.id=nm; aElement.type="file"; aElement.size="50"; //aElement.value="thanks"; //aElement.onclick=Function("asdf()"); if(document.getElementById("upload").appendChild(aElement) == null) return false; return true; } function removeInput(nm){ var aElement = document.getElementById("upload"); if(aElement.removeChild(aElement.lastChild) == null) return false; return true; } </script>方式三:动态多文件上传,只是在oFileInput.click();这个地方,这样做就不能上传这个文件了,因为发现它在上传之时就把这个input中的文件置空了。很可能是为了安全着想吧!另外还有一点就是说,click()只有在ie中才能正常运行。虽说这种方式最终没能实现上传,但还是留下来参考,看看是否有人可以真正实现上传。 html<A href="javascript:newUpload();">添加附件</A><TABLE width="100%" border="0" cellpadding="0" cellspacing="1"> <TBODY id="fileList"></TBODY></TABLE><DIV id="uploadFiles" style="display:block"></DIV>js<SCRIPT language="javascript"> //—新建上传 function newUpload(){ var oFileList = document.getElementById("fileList"); var fileCount = oFileList.childNodes.length + 1; var oFileInput = newFileInput("upfile_" + fileCount); if(selectFile(oFileInput)){ addFile(oFileInput); } }//—-选择文件 function selectFile(oFileInput){ var oUploadFiles = document.getElementById("uploadFiles"); oUploadFiles.appendChild(oFileInput); oFileInput.focus(); oFileInput.click();//不能这样做,可能是为了安全着想吧! var fileValue = oFileInput.value; if(fileValue == ""){ oUploadFiles.removeChild(oFileInput); return false; } else return true; } //—新建一个文件显示列表 function addFile(oFileInput){ var oFileList = document.getElementById("fileList"); var fileIndex = oFileList.childNodes.length + 1; var oTR = document.createElement("TR"); var oTD1 = document.createElement("TD"); var oTD2 = document.createElement("TD"); oTR.setAttribute("id","file_" + fileIndex); oTR.setAttribute("bgcolor","#FFFFFF"); oTD1.setAttribute("width","6%"); oTD2.setAttribute("width","94%"); oTD2.setAttribute("align","left"); oTD2.innerText = oFileInput.value; oTD1.innerHTML = '<A href="javascript:removeFile('+ fileIndex + ');">删除</A>'; oTR.appendChild(oTD1); oTR.appendChild(oTD2); oFileList.appendChild(oTR); } //—移除上传的文件 function removeFile(fileIndex){ var oFileInput = document.getElementById("upfile_" + fileIndex); var oTR = document.getElementById("file_" + fileIndex); uploadFiles.removeChild(oFileInput); fileList.removeChild(oTR); } //—创建一个file input对象并返回 function newFileInput(_name){ var oFileInput = document.createElement("INPUT"); oFileInput.type = "file"; oFileInput.id = _name; oFileInput.name = _name; oFileInput.size="50"; //oFileInput.setAttribute("id",_name); //oFileInput.setAttribute("name",_name); //oFileInput.outerHTML = '<INPUT type=file id=' + _name + ' name=' + _name + '>'; //alert(oFileInput.outerHTML); return oFileInput; } </SCRIPT>

⑸ 如何从js文件上传问题,怎么解决

1

第一步:新建HTML文件

使用dreamweaver CS6新建一个html文件并保存到桌面,在桌面放一个文件(图片或文本文档),上传测试用。如图:

⑹ js超大文件上传如何实现

利用File文件接口将文件切成顺序的若干小片,然后上传到服务器,全部上传完后由服务端进行合并和校验

⑺ js 实现多文件上传,如何将文件上传到资源服务器

对于文件或者附件较多的应用,上传后都会讲文件ftp到一台资源服务器!你可以用ftp穿过去。可以用程序ftp实时,也可以写点小脚本定时ftp。看你的需求了

⑻ 使用js向服务器上传文件

(1)js无法向网站服务器传送文件只能用FTP传送文件,(2)是动态网站要用js代码函数与服务器数据库代码建立连接函数。对应数据库,数据,相应单位,通过指定路径传输倒是制定数据单位。例如照片imag数据单位格式标注照片。通过编辑代码任意网络客户端都可上传到数据库imag格式单位标注中.相片.

⑼ JS-超大文件上传-如何上传文件-大文件上传

可以试试这样

前端通过 input type = "file" 接收文件

然后使用文件的 slice 的方法对文件进行分片

将每一片提交到后台依次提交到后台,提交时通过 formData 提交,添加几个字段

(1). 这次上传文件的惟一 id

(2). 上传的状态,是开始,还是上传中,还是上传结束

(3). 分片的位置,比如是第一片,第二片

(4). 分片的数据

后端当接收到一个文件 id 的结束标识时,把对应的分片按位置数据拼接起来就行

⑽ 如何通过js完成多个文件的上传

HTML5 file组件的新属性accept : 如果在file组件中增加这个属性就可以直接控制上传的文件类型了,实在是很方便。multiple:是否允许选择多个文件HTML5 页面代码修改后<img width="400" height="250"/><br /><input type="file" id="pic" name="pic" onchange="printFileInfo()" accept="image/*" multiple="multiple"/><input type="button" value="上传图片" onclick="uploadFile()" /><br /><div id="parent"><div id="son"></div></div>accept 的值可以参阅:IANA MIME 类型(标准 MIME 类型的完整列表),如果使用的是DW开发的话,软件本身就有提示。如果选择了多个文件,可以用JS做循环打印,看看文件的名称,类型和大小,看演示代码function printFileInfo(){var picFile = document.getElementById("pic");var files = picFile.files;for(var i=0; i<files.length; i++){var file = files[i];var div = document.createElement("div")div.innerHTML = "第("+ (i+1) +") 个文件的名字:"+ file.name +" , 文件类型:"+ file.type +" , 文件大小:"+ file.sizedocument.body.appendChild( div)}}既然可以循环多文件的话,就可以尝试多文件上传了。1、首先创建 XMLHttpRequest 对象//这是全局变量。因为是示例,所以就没有判断浏览器类型,低版本IE这么写的话会出问题的var xhr = new XMLHttpRequest()2、上篇介绍了进度事件(Progress) , 这次实现 progress 和 error 2个事件error:在请求发生错误时触发。对应上传时发生错误导致的上传失败:uploadFailed() //上传失败function uploadFailed(evt) {alert("上传失败");}progress:在接收相应期间持续不断触发。对应上传进度方法:onprogress()/*** 侦查附件上传情况 ,这个方法大概0.05-0.1秒执行一次*/function onprogress(evt){var loaded = evt.loaded; //已经上传大小情况var tot = evt.total; //附件总大小var per = Math.floor(100*loaded/tot); //已经上传的百分比$("#son").html( per +"%" );$("#son").css("width" , per +"%");}最后就是上传方法了,注意上面的html代码中上传用的方法也需要改成这个uploadFile()方法才能正常使用。//上传文件function uploadFile() {//将上传的多个文件放入formData中var picFileList = $("#pic").get(0).files;var formData = new FormData();for(var i=0; i< picFileList.length; i++){formData.append("file" , picFileList[i] );}//监听事件xhr.upload.addEventListener("progress", onprogress, false);xhr.addEventListener("error", uploadFailed, false);//发送文件和表单自定义参数xhr.open("POST", "upload");//记得加入上传数据formDataxhr.send(formData);}


赞 (0)