真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

javascript上傳文件,js 上傳文件

JavaScript文件分片上傳,斷點續(xù)傳如何實現(xiàn)?

public class FileInf {

贛榆ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!

public FileInf(){}

public String id="";

public String pid="";

public String pidRoot="";

/** * 表示當前項是否是一個文件夾項。 */

public boolean fdTask=false;

// /// 是否是文件夾中的子文件 /// /summary

public boolean fdChild=false;

/** * 用戶ID。與第三方系統(tǒng)整合使用。 */

public int uid=0;

/** * 文件在本地電腦中的名稱 */

public String nameLoc="";

/** * 文件在服務(wù)器中的名稱。 */

public String nameSvr="";

/** * 文件在本地電腦中的完整路徑。示例:D:\Soft\QQ2012.exe */

public String pathLoc="";

/** * 文件在服務(wù)器中的完整路徑。示例:F:\\ftp\\uer\\md5.exe */

public String pathSvr="";

/** * 文件在服務(wù)器中的相對路徑。示例:/www/web/upload/md5.exe */

public String pathRel="";

/** * 文件MD5 */

public String md5="";

/** * 數(shù)字化的文件長度。以字節(jié)為單位,示例:120125 */

public long lenLoc=0;

/** * 格式化的文件尺寸。示例:10.03MB */

public String sizeLoc="";

/** * 文件續(xù)傳位置。 */

public long offset=0;

/** * 已上傳大小。以字節(jié)為單位 */

public long lenSvr=0;

/** * 已上傳百分比。示例:10% */

public String perSvr="0%";

public boolean complete=false;

public Date PostedTime = new Date();

public boolean deleted=false;

/** * 是否已經(jīng)掃描完畢,提供給大型文件夾使用,大型文件夾上傳完畢后開始掃描。 */

public boolean scaned=false;

}

幾種js實現(xiàn)的動態(tài)多文件上傳

方式一:事先寫好多個input.在點擊時才顯示。也就是說上傳的最大個數(shù)是寫死了的。

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

方式二:這種方式的動態(tài)多文件上傳是實現(xiàn)了的,很簡單的,不說廢話看code

html

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(i0){

var attach = attachname + i ;

if(createInput(attach))

i=i+1;

}

}

function deleteInput(){

if(i1){

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

方式三:動態(tài)多文件上傳,只是在oFileInput.click();這個地方,這樣做就不能上傳這個文件了,因為發(fā)現(xiàn)它在上傳之時就把這個input中的文件置空了。很可能是為了安全著想吧!

另外還有一點就是說,click()只有在ie中才能正常運行。

雖說這種方式最終沒能實現(xiàn)上傳,但還是留下來參考,看看是否有人可以真正實現(xiàn)上傳。

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);

}

//---創(chuàng)建一個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

egg.js 文件上傳

小文件的話就不需要使用文件流了

需要在config.default.ts(egg.js修改默認配置的文件)指定文件的限制

一般來說超過1mb的文件,在上傳的時候最好以流的形式去處理

egg.js中也提供的這類的插件

同樣的需要修config.default.ts文件,去限制文件的最大長度,如果不限制的話會默認是100kb的,這個要注意

原生js實現(xiàn)文件上傳

function saveUser() {

? ? ? ? var file = document.getElementById("file").files[0];

? ? ? ? //原生ajax實現(xiàn)文件上傳

? ? ? ? var formData = new FormData();

? ? ? ? if (file) {

? ? ? ? ? ? formData.append("file", file);

? ? ? ? ? ? console.log(file)

? ? ? ? }

? ? ? ? //得到xhr對象

? ? ? ? var xhr = null;

? ? ? ? if (XMLHttpRequest) {

? ? ? ? ? ? xhr = new XMLHttpRequest();

? ? ? ? } else {

? ? ? ? ? ? xhr = new ActiveXObject("Microsoft.XMLHTTP");

? ? ? ? }

? ? ? ? xhr.open("post", "", true);//設(shè)置提交方式,url,異步提交

//? ? ? ? ? ? xhr.setRequestHeader("Content-Type","multipart/form-data");

? ? ? ? xhr.onload = function () {

? ? ? ? ? ? var data = xhr.responseText;? ? //得到返回值

? ? ? ? ? ? console.log(data);

? ? ? ? }

? ? ? ? xhr.send(formData);

? ? }


網(wǎng)站名稱:javascript上傳文件,js 上傳文件
地址分享:http://weahome.cn/article/dsspcdj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部