當前位置:首頁 » 文件管理 » 大文件上傳源碼

大文件上傳源碼

發布時間: 2023-06-28 10:25:52

① 我需要使用winform實現大文件(大概20M左右)上傳到iis7部署的一個站點,如何實現希望有源碼

完全不需要使用winform來實現這個功能,因為用戶還需要單獨下載這個應用程序。比較麻煩。

用戶體驗非常好的大文件上傳控制項,北京新穎網路做的不錯,樓主可以試試北京新穎網路FTP或者HTTP文件上傳控制項。北京新穎網路的FTP上傳控制項還支持斷點續傳,這個功能非常不錯。也比較穩定。

② 急求ASP源碼:上傳文件大小限定,圖片尺寸自動調整

三個頁:選擇頁,上傳頁sub.asp,調用的代碼頁upload.inc,

我自己就在用這個,LZ給分吧

1瀏覽上傳:
<form action="sub.asp"迅擾雹 method="post" enctype="multipart/form-data" target="_self">
<input type="畝帆file" name="src" size="20" value="瀏覽">
<input type="submit" value="上傳" name="B1" IsShowProcessBar="True">
</form>

sub.asp 執行上傳並返回地址,同時保存文件名在session(ccc)中

<!--#include FILE="upload.inc"-->
<%
dim upload,file,formName,formPath,iCount,fileformat
set upload=new upload_F
function MakedownName()
dim fname
fname = now()
fname = replace(fname,"-","")
fname = replace(fname," ","")
fname = replace(fname,":","")
fname = replace(fname,"PM","")
fname = replace(fname,"AM","")
fname = replace(fname,"上午","")
fname = replace(fname,"下午","")
fname = int(fname) + int((10-1+1)*Rnd + 1)
MakedownName=fname
end function
formPath="upload/"
iCount=0
for each formName in upload.file ''列出所有上傳了的文件
set file=upload.file(formName) ''生成一個文件對象

fileformat=lcase(right(file.filename,4))

if fileformat=".asp" or fileformat=".htm" then
response.write"<script>alert('文件格式不對,請重新上傳!');location='"&request.ServerVariables("HTTP_REFERER")&"'</script>"
response.end
end if

if file.FileSize>0 then ''如果 FileSize > 0 說明有文件數據
newname=MakedownName()&"."&mid(file.FileName,InStrRev(file.FileName, ".")+1)

session("ccc")=newname
file.SaveAs Server.mappath(formPath&newname) ''保存李昌文件
iCount=iCount+1
else
response.write "<font style=FONT-SIZE:9pt>未找到文件 <A HREF=javascript:history.back(1)>重新上傳</A><font style=FONT-SIZE:9pt>"
response.end
end if
next
%>

<%
response.write "<a href='upload/"&newname&"' target=_blank>upload/"&newname&" </a>("&cint(file.FileSize/1024)&"K) 上傳成功!"
%>

<%
set file=nothing
set upload=nothing ''刪除此對象
%>

upload.inc 頁的代碼如下:

<SCRIPT RUNAT=SERVER LANGUAGE=VBSCRIPT>

dim upfile_Stream

Class upload_F

dim Form,File,Version

Private Sub Class_Initialize
dim iStart,iFileNameStart,iFileNameEnd,iEnd,vbEnter,iFormStart,iFormEnd,theFile
dim strDiv,mFormName,mFormValue,mFileName,mFileSize,mFilePath,iDivLen,mStr
Version="upload Version 1.0"
if Request.TotalBytes<1 then Exit Sub
set Form=CreateObject("Scripting.Dictionary")
set File=CreateObject("Scripting.Dictionary")
set upfile_Stream=CreateObject("Adodb.Stream")
upfile_Stream.mode=3
upfile_Stream.type=1
upfile_Stream.open
upfile_Stream.write Request.BinaryRead(Request.TotalBytes)

vbEnter=Chr(13)&Chr(10)
iDivLen=inString(1,vbEnter)+1
strDiv=subString(1,iDivLen)
iFormStart=iDivLen
iFormEnd=inString(iformStart,strDiv)-1
while iFormStart < iFormEnd
iStart=inString(iFormStart,"name=""")
iEnd=inString(iStart+6,"""")
mFormName=subString(iStart+6,iEnd-iStart-6)
iFileNameStart=inString(iEnd+1,"filename=""")
if iFileNameStart>0 and iFileNameStart<iFormEnd then
iFileNameEnd=inString(iFileNameStart+10,"""")
mFileName=subString(iFileNameStart+10,iFileNameEnd-iFileNameStart-10)
iStart=inString(iFileNameEnd+1,vbEnter&vbEnter)
iEnd=inString(iStart+4,vbEnter&strDiv)
if iEnd>iStart then
mFileSize=iEnd-iStart-4
else
mFileSize=0
end if
set theFile=new FileInfo
theFile.FileName=getFileName(mFileName)
theFile.FilePath=getFilePath(mFileName)
theFile.FileSize=mFileSize
theFile.FileStart=iStart+4
theFile.FormName=FormName
file.add mFormName,theFile
else
iStart=inString(iEnd+1,vbEnter&vbEnter)
iEnd=inString(iStart+4,vbEnter&strDiv)

if iEnd>iStart then
mFormValue=subString(iStart+4,iEnd-iStart-4)
else
mFormValue=""
end if
form.Add mFormName,mFormValue
end if

iFormStart=iformEnd+iDivLen
iFormEnd=inString(iformStart,strDiv)-1
wend
End Sub

Private Function subString(theStart,theLen)
dim i,c,stemp
upfile_Stream.Position=theStart-1
stemp=""
for i=1 to theLen
if upfile_Stream.EOS then Exit for
c=ascB(upfile_Stream.Read(1))
If c > 127 Then
if upfile_Stream.EOS then Exit for
stemp=stemp&Chr(AscW(ChrB(AscB(upfile_Stream.Read(1)))&ChrB(c)))
i=i+1
else
stemp=stemp&Chr(c)
End If
Next
subString=stemp
End function

Private Function inString(theStart,varStr)
dim i,j,bt,theLen,str
InString=0
Str=toByte(varStr)
theLen=LenB(Str)
for i=theStart to upfile_Stream.Size-theLen
if i>upfile_Stream.size then exit Function
upfile_Stream.Position=i-1
if AscB(upfile_Stream.Read(1))=AscB(midB(Str,1)) then
InString=i
for j=2 to theLen
if upfile_Stream.EOS then
inString=0
Exit for
end if
if AscB(upfile_Stream.Read(1))<>AscB(MidB(Str,j,1)) then
InString=0
Exit For
end if
next
if InString<>0 then Exit Function
end if
next
End Function

Private Sub Class_Terminate
form.RemoveAll
file.RemoveAll
set form=nothing
set file=nothing
upfile_Stream.close
set upfile_Stream=nothing
End Sub

Private function GetFilePath(FullPath)
If FullPath <> "" Then
GetFilePath = left(FullPath,InStrRev(FullPath, "\"))
Else
GetFilePath = ""
End If
End function

Private function GetFileName(FullPath)
If FullPath <> "" Then
GetFileName = mid(FullPath,InStrRev(FullPath, "\")+1)
Else
GetFileName = ""
End If
End function

Private function toByte(Str)
dim i,iCode,c,iLow,iHigh
toByte=""
For i=1 To Len(Str)
c=mid(Str,i,1)
iCode =Asc(c)
If iCode<0 Then iCode = iCode + 65535
If iCode>255 Then
iLow = Left(Hex(Asc(c)),2)
iHigh =Right(Hex(Asc(c)),2)
toByte = toByte & chrB("&H"&iLow) & chrB("&H"&iHigh)
Else
toByte = toByte & chrB(AscB(c))
End If
Next
End function
End Class

Class FileInfo
dim FormName,FileName,FilePath,FileSize,FileStart
Private Sub Class_Initialize
FileName = ""
FilePath = ""
FileSize = 0
FileStart= 0
FormName = ""
End Sub

Public function SaveAs(FullPath)
dim dr,ErrorChar,i
SaveAs=1
if trim(fullpath)="" or FileSize=0 or FileStart=0 or FileName="" then exit function
if FileStart=0 or right(fullpath,1)="/" then exit function
set dr=CreateObject("Adodb.Stream")
dr.Mode=3
dr.Type=1
dr.Open
upfile_Stream.position=FileStart-1
upfile_Stream.to dr,FileSize
dr.SaveToFile FullPath,2
dr.Close
set dr=nothing
SaveAs=0
end function
End Class
</SCRIPT>

③ c# .net文件上傳文件的源代碼

string path = Server.MapPath("/");
string filename = File.PostedFile.FileName; //獲得上傳文件全路徑
int place = filename.LastIndexOf(".") + 1; //獲得文件擴展名的位置
string year = DateTime.Now.Year.ToString(); //獲得系統時間的年
string month = DateTime.Now.Month.ToString(); //獲得系統時間的月
string day = DateTime.Now.Day.ToString(); //獲得系統時間的日
string hour = DateTime.Now.Hour.ToString(); //獲得系統時間的時
string min = DateTime.Now.Minute.ToString(); //獲得系統時間的分
string sec = DateTime.Now.Second.ToString(); //獲得系統時間的秒
string mill = DateTime.Now.Millisecond.ToString(); //獲得系統時間的毫秒
string extname = filename.Substring(place); //獲得上傳文件的擴展名
string fullname = year + month + day + hour + min + sec + mill + "." + extname;//重新生成圖片名
string imgpath = path + "BgManage/Proct/picture/" + fullname;//上傳文件的存放路徑
File.PostedFile.SaveAs(imgpath); //文件上傳

④ 怎麼提交源代碼文件上傳到qq

怎麼提交源代碼文件上傳到qq具體如下:
1、首先在手機和電腦上同時登陸同一個QQ賬號,一般會在電腦端的QQ聯系人中有一個【我的設備】的分類,點擊展開就會看出【我的手機】;
2、在電腦上點擊打開【我的手機】,如果見不到,可以將QQ退出之後再重新登錄,然後就會展開聊天對話框,與好友對話是一樣的。我們可以直接使用拖拽文件的方式或者是點冊敬擊文件下面【文件】圖標在電腦中查找需哪洞要發送的文件;
3、當添加文件之後一般QQ會默認發送,文件較大等待一段時間發送完成之後就可以在手機的QQ上看到。李姿枯

⑤ jsp+servlet實現文件上傳與下載源碼

上傳:
需要導入兩個包:commons-fileupload-1.2.1.jar,commons-io-1.4.jar
import java.io.File;
import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

/**
* 上傳附件
* @author new
*
*/
public class UploadAnnexServlet extends HttpServlet {

private static String path = "";

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

doPost(request, response);
}

/*
* post處理
* (non-Javadoc)
* @see javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

path = this.getServletContext().getRealPath("/upload");

try {
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload up = new ServletFileUpload(factory);
List<FileItem> ls = up.parseRequest(request);

for (FileItem fileItem : ls) {
if (fileItem.isFormField()) {
String FieldName = fileItem.getFieldName();
//getName()返回的是文件名字 普通域沒有文件 返回NULL
// String Name = fileItem.getName();
String Content = fileItem.getString("gbk");
request.setAttribute(FieldName, Content);
} else {

String nm = fileItem.getName().substring(
fileItem.getName().lastIndexOf("\\") + 1);
File mkr = new File(path, nm);
if (mkr.createNewFile()) {
fileItem.write(mkr);//非常方便的方法
}
request.setAttribute("result", "上傳文件成功!");
}
}
} catch (Exception e) {
e.printStackTrace();
request.setAttribute("result", "上傳失敗,請查找原因,重新再試!");
}
request.getRequestDispatcher("/pages/admin/annex-manager.jsp").forward(
request, response);
}

}

下載(i/o流)無需導包:
import java.io.IOException;
import java.net.URLEncoder;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
* 下載文件
* @author
*
*/
public class DownloadFilesServlet extends HttpServlet {

/**
*
*/
private static final long serialVersionUID = 8594448765428224944L;

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

doPost(request, response);
}

/*
* 處理請求
* (non-Javadoc)
* @see javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

String name = request.getParameter("fileName");

System.out.print("dddddddddd:" + name);
// web絕對路徑
String path = request.getSession().getServletContext().getRealPath("/");
String savePath = path + "upload";

// 設置為下載application/x-download
response.setContentType("application/x-download");
// 即將下載的文件在伺服器上的絕對路徑
String filenamedownload = savePath + "/" + name;
// 下載文件時顯示的文件保存名稱
String filenamedisplay = name;
// 中文編碼轉換
filenamedisplay = URLEncoder.encode(filenamedisplay, "UTF-8");
response.addHeader("Content-Disposition", "attachment;filename="
+ filenamedisplay);
try {
java.io.OutputStream os = response.getOutputStream();
java.io.FileInputStream fis = new java.io.FileInputStream(
filenamedownload);
byte[] b = new byte[1024];
int i = 0;
while ((i = fis.read(b)) > 0) {
os.write(b, 0, i);
}
fis.close();
os.flush();
os.close();
} catch (Exception e) {

}

}

}

⑥ asp文件上傳:文件上傳 源代碼

<! #include FILE="upload inc" >談如 <% dim upload file formName formPath iCount filename fileExt set upload=new upload_ xSoft 建立上傳對象 formPath="uploadimages/" 在目錄後啟戚加(/) if right(formPath )<>"/" then formPath=formPath&"/" iCount= for each formName in upload file 列出所有上傳了的文件 set file=upload file(formName) 生成一個文件對象 if file filesize< then response write "<font size= ><br>請先選擇你要上傳的圖片[ <a href=# onclick=history go( )>重新上傳</a> ]</font>" response end end if if file filesize> then 含旁啟 response write "<font size= ><br>圖片大小超過了限制[ <a href=# onclick=history go( )>重新上傳</a> ]</font>" response end end if

fileExt=lcase(right(file filename ))

if fileEXT<>" jpg" and fileEXT<>" gif" then response write "<font size= ><br>文件格式只能為jpg和gif格式[ <a href=# onclick=history go( )>重新上傳</a> ]</font>" response end end if randomize ranNum=int( *rnd)+ filename=formPath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&fileExt filename =year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&fileExt if file FileSize> then 如果 FileSize > 說明有文件數據 file SaveAs Server mappath(filename) 保存文件 response write "<script>parent form img value= "&FileName &" </script>"

iCount=iCount+ end if set file=nothing next set upload=nothing 刪除此對象

Response Write "<img src= "&" /UpLoad/UpLoadImages/"&FileName &" onload = DrawImage(this) >" response end %>

下面是upload inc的代碼

<SCRIPT RUNAT=SERVER LANGUAGE=VBSCRIPT> dim upfile_ xSoft_Stream Class upload_ xSoft dim Form File Version Private Sub Class_Initialize dim iStart iFileNameStart iFileNameEnd iEnd vbEnter iFormStart iFormEnd theFile dim strDiv mFormName mFormValue mFileName mFileSize mFilePath iDivLen mStr if Request TotalBytes< then Exit Sub set Form=CreateObject("Scripting Dictionary") set File=CreateObject("Scripting Dictionary") set upfile_ xSoft_Stream=CreateObject("Adodb Stream") upfile_ xSoft_Stream mode= upfile_ xSoft_Stream type= upfile_ xSoft_Stream open upfile_ xSoft_Stream write Request BinaryRead(Request TotalBytes) vbEnter=Chr( )&Chr( ) iDivLen=inString( vbEnter)+ strDiv=subString( iDivLen) iFormStart=iDivLen iFormEnd=inString(iformStart strDiv) while iFormStart < iFormEnd iStart=inString(iFormStart "name=""") iEnd=inString(iStart+ """") mFormName=subString(iStart+ iEnd iStart ) iFileNameStart=inString(iEnd+ "filename=""") if iFileNameStart> and iFileNameStart<iFormEnd then iFileNameEnd=inString(iFileNameStart+ """") mFileName=subString(iFileNameStart+ iFileNameEnd iFileNameStart ) iStart=inString(iFileNameEnd+ vbEnter&vbEnter) iEnd=inString(iStart+ vbEnter&strDiv) if iEnd>iStart then mFileSize=iEnd iStart else mFileSize= end if set theFile=new FileInfo theFile FileName=getFileName(mFileName) theFile FilePath=getFilePath(mFileName) theFile FileSize=mFileSize theFile FileStart=iStart+ theFile FormName=FormName file add mFormName theFile else iStart=inString(iEnd+ vbEnter&vbEnter) iEnd=inString(iStart+ vbEnter&strDiv)

if iEnd>iStart then mFormValue=subString(iStart+ iEnd iStart ) else mFormValue="" end if form Add mFormName mFormValue end if

iFormStart=iformEnd+iDivLen iFormEnd=inString(iformStart strDiv) wend End Sub

Private Function subString(theStart theLen) dim i c stemp upfile_ xSoft_Stream Position=theStart stemp="" for i= to theLen if upfile_ xSoft_Stream EOS then Exit for c=ascB(upfile_ xSoft_Stream Read( )) If c > Then if upfile_ xSoft_Stream EOS then Exit for stemp=stemp&Chr(AscW(ChrB(AscB(upfile_ xSoft_Stream Read( )))&ChrB(c))) i=i+ else stemp=stemp&Chr(c) End If Next subString=stemp End function

Private Function inString(theStart varStr) dim i j bt theLen str InString= Str=toByte(varStr) theLen=LenB(Str) for i=theStart to upfile_ xSoft_Stream Size theLen if i>upfile_ xSoft_Stream size then exit Function upfile_ xSoft_Stream Position=i if AscB(upfile_ xSoft_Stream Read( ))=AscB(midB(Str )) then InString=i for j= to theLen if upfile_ xSoft_Stream EOS then inString= Exit for end if if AscB(upfile_ xSoft_Stream Read( ))<>AscB(MidB(Str j )) then InString= Exit For end if next if InString<> then Exit Function end if next End Function

Private Sub Class_Terminate form RemoveAll file RemoveAll set form=nothing set file=nothing upfile_ xSoft_Stream close set upfile_ xSoft_Stream=nothing End Sub Private function GetFilePath(FullPath) If FullPath <> "" Then GetFilePath = left(FullPath InStrRev(FullPath "")) Else GetFilePath = "" End If End function Private function GetFileName(FullPath) If FullPath <> "" Then GetFileName = mid(FullPath InStrRev(FullPath "")+ ) Else GetFileName = "" End If End function

Private function toByte(Str) dim i iCode c iLow iHigh toByte="" For i= To Len(Str) c=mid(Str i ) iCode =Asc(c) If iCode< Then iCode = iCode + If iCode> Then iLow = Left(Hex(Asc(c)) ) iHigh =Right(Hex(Asc(c)) ) toByte = toByte & chrB("&H"&iLow) & chrB("&H"&iHigh) Else toByte = toByte & chrB(AscB(c)) End If Next End function End Class

lishixin/Article/program/net/201311/14198

熱點內容
編程獎金計算 發布:2025-02-05 12:27:01 瀏覽:185
軟體怎麼去掉付費配置 發布:2025-02-05 12:26:17 瀏覽:504
安卓手機怎麼下載谷歌商店apk 發布:2025-02-05 12:21:09 瀏覽:367
騰訊視頻的緩存在哪裡 發布:2025-02-05 12:21:03 瀏覽:710
安卓聊天記錄未備份怎麼恢復 發布:2025-02-05 12:05:02 瀏覽:953
海外搭建伺服器可以連外網嗎 發布:2025-02-05 11:49:21 瀏覽:64
少兒編程報名 發布:2025-02-05 11:49:13 瀏覽:308
c語言網路庫 發布:2025-02-05 11:48:30 瀏覽:555
c語言中if函數 發布:2025-02-05 11:45:20 瀏覽:626
伺服器怎麼設置dhcp伺服器地址 發布:2025-02-05 11:43:51 瀏覽:645