❶ (高手指點)asp.net 實現網路硬碟的打包下載
桃源網激凱行盤程序也是明嘩.net的,可以實現壓縮打包下載,軟體介紹見http://soft.3adisk.com,網盤測試http://www.3adisk.com
編程原理和方法就不清孫帆楚了
❷ 將asp網站打包怎麼弄
有專用的打包工具
也可以用相當傻瓜化的VS2003 或2005或更高
注意:
為了保護你的版權,請你手動刪除CS文件和resx文件
或者使用它自帶的篩選器自動篩選
這些東西都屬於項目實施和部署的范疇,你可以找些文檔看下
❸ 自帶打包工具打包Asp.Net Web應用程序
打開你的項目 在<解決方案管理器>中用滑鼠右擊你的<解決方案> 選擇<添加> <新建項目> <添加新項目>對話框中選擇<安裝和部署項目> <Web安裝項目> (注意 <web安裝項目>唯核的存放路徑 ) VS net 的窗口左側會顯示<文件系統(你的 Web 安裝項目名稱)> 用滑鼠右鍵選中<Web 應用程序文件夾> 選擇<添加> <項目輸出> 在彈出的<添加項目輸出組>中同時選中<主輸出指洞掘>和<內容文件> (注意 可根據自己需要選擇 ) 你的解決方案中會新增一個你的 Web 安裝項目名稱的工程 就是安裝的項目 保存一下 有時會出錯 如果你用了crystal report 就要添加 crystal reprot 的支持文件 在解決方案資源管理器中 右擊YouSetup project(你的安裝項目名) 選中 添加合並模塊 在窗口中找到 並選中C Program FilesCommon FilesMerge MolesDotNETCrystalReports m *** 打開 就加入了 右鍵選中<Web 應用程序文件夾> 選中屬性窗口 在屬性窗口中 將<DefaultDocument>設置為 你的默認登錄頁 即 起始頁
選中你的 Web 安裝項目名稱的工程 按右鍵 選中<顫友生成>
lishixin/Article/program/net/201311/15060
❹ ASP.NET下文件批量下載應用
場景描述
在B/S環境下 客戶提出批量導出員工照片功能 具體為 選中一個部門或者單位 系統能夠批量下載所選單元的照片 下載到用戶客戶端
解決思路
由於系統中員工的照片存儲在伺服器硬碟上 因此 應該有兩種方式供用搭嘩戶選擇 其一 寫一個C/S客戶端 利用客戶端功能 實現客戶端批量下載操作 其二 在現有ASP NET環境下 將所需照片文件合並成一個文件下載到用戶客戶端 比較而言 兩種思路的難度都不大 但是考慮到系統的統一性 最終決定採用方案二 將文件打包後下載
實現步驟
在用戶操作界面 由用戶選擇員工 系統根據所選人員 在伺服器上創建用於存儲所選文件的臨時文件夾 將所選文件拷貝至臨時文件夾 然後調用RAR程序 對臨時文件夾進行壓縮 然後輸出到客戶端 最後刪除臨時文件夾
部分關鍵代碼
創建臨時文件夾
string Folder = DateTime Now ToString( HHMMss );
string tempFolder = Path Combine(ImagesPath Folder);
Directory CreateDirectory(tempFolder);
var empList = rs ToList();
拷貝照片文件
foreach (var x in empList)
{
File Copy(ImagesPath + @ + x ID + jpg tempFolder + @ + x DeptName + + x Name + + x ID + jpg );
}
產生RAR文件 及文件輸出
RARsave(tempFolder tempFolder Folder);
ResponseFile(tempFolder + @ + Folder + rar );
public void RARsave(string patch string rarPatch string rarName)
{
String the_rar;
RegistryKey the_Reg;
Object the_Obj;
String the_Info;
ProcessStartInfo the_StartInfo;
Process the_Process;
try
{
the_Reg = Registry ClassesRoot OpenSubKey(@ WinRAR );
the_Obj = the_Reg GetValue( );
the_rar = the_Obj ToString();
the_Reg Close();
the_rar = the_rar Substring( the_rar Length );
Directory CreateDirectory(patch);
//命令參數
//the_Info = a + rarName + + @ C:Test? txt ; //文件壓縮
the_Info = a + rarName + + patch + r ;
the_StartInfo = new ProcessStartInfo();
the_StartInfo FileName = WinRar ;//the_rar;
the_StartInfo Arguments = the_Info;
知旁行the_StartInfo WindowStyle = ProcessWindowStyle Hidden;
//打包文件存啟旁放目錄
the_StartInfo WorkingDirectory = rarPatch;
the_Process = new Process();
the_Process StartInfo = the_StartInfo;
the_Process Start();
the_Process WaitForExit();
the_Process Close();
}
catch (Exception ex)
{
throw ex;
}
}
protected void ResponseFile(string fileName)
{
FileInfo fileInfo = new FileInfo(fileName);
Response Clear();
Response ClearContent();
Response ClearHeaders();
Response AddHeader( Content Disposition attachment;filename= + fileName);
Response AddHeader( Content Length fileInfo Length ToString());
Response AddHeader( Content Transfer Encoding binary );
Response ContentType = application/octet stream ;
Response ContentEncoding = System Text Encoding GetEncoding( gb );
Response WriteFile(fileInfo FullName);
Response Flush();
string tempPath = fileName Substring( fileName LastIndexOf( \ ));
DelDir(tempPath);
Directory Delete(tempPath);
Response End();
}
lishixin/Article/program/net/201311/13948
❺ 如何給ASP文章系統添加一鍵打包下載功能!!
有個思路,你可以考慮一下,在櫻灶碼後台添加文章時,用TXT來存儲,資料庫辯物存儲TXT路徑,這樣就可以即可調脊哪用TXT內容,也可調用TXT文件。
如果要在瀏覽器臨時生成,難!
❻ asp.net 怎麼打包文件夾里所有文件,並提示下載保存
這個挺簡單的,首先思路:
1.獲取文件夾下所有文件:根據文件夾獲得其下所有的文件有方法Dictionary.GetFiles()
2.根據得到的文件集合打包:對文件壓縮解壓等建議使用ICSharpCode.SharpZipLib.Zip這個組件。這個比較全面。
3.至於下載保存的話就更簡單了,只需要在第2步的時候將生成的文件的路徑在資料庫中存儲,然後頁面上綁定該路徑即可;然後用戶會點擊鏈接,則瀏覽器會自動彈出提示下載保存的。
❼ 如何將ASP源代碼(OA系統的源代碼)打包成.EXE格式的應用程序
必須得有辦法運行asp的環境才可以,有培賣的都不支持,所以還是建議使用IIS,直碼中困遲念接壓縮或者使用自解壓縮文件
❽ asp 網站能打包嗎用什麼打包
可以打包,然後直接到其他機器上不用裝iis等服務環境
加我qq:570361214傳給你
或者在網上搜netbox也可以找到
❾ asp程序怎麼打包
建一個box(work.box)文件內容如下其中埠8080可以改。work文件夾可以改名為你的網站的所在的文件夾名(這個文件夾下最好不要再有別的asp程序或網站了)
Dim httpd
Shell.Service.RunService "NBWeb", "NetBox Web Server", "NetBox Http Server Sample"
'---------------------- Service Event ---------------------
Sub OnServiceStart()
Set httpd = CreateObject("NetBox.HttpServer")
If httpd.Create("", 8080) = 0 Then
Set host = httpd.AddHost("", "/work")
host.EnableScript = true
host.AddDefault "default.asp"
host.AddDefault "default.htm"
httpd.Start
else
Shell.Quit 0
end if
End Sub
Sub OnServiceStop()
httpd.Close
End Sub
Sub OnServicePause()
httpd.Stop
End Sub
Sub OnServiceResume()
httpd.Start
End Sub
然後將這個work.box拷到和你的網站文件夾所在的那個父文件夾下(意思就是說work.box和你的網站文件夾work在同一級目錄中)
第三,work.box和work文件夾必須要在一個名為wwwroot的文件夾中(意思是結構目錄如在一個wwwroot的文件夾下有一個work.box的文件和一個work的網站文件夾)
第四,打開程序netbox deployment 這個程序,瀏覽到這個wwwroot文件夾。項目類型為應用程序。取個輸出名等等,那個啟動選擇work.box,然後就可以生成了。
生成之後,雙擊你生成的ese文件,他在在任務欄中運行。然後你打開瀏覽器,輸入你的電腦的http://IP:8080就可以訪問網站了。
同時nextbox還支持很多別的應用,比如,右下角不出現運行標志,雙擊exe時自動彈一個窗口(並非IE)並運行這個網站。你可以自定義這個窗口的外觀(不規則的都行)支持瀏覽更多的伺服器變數(比如硬碟號,這個可以做成一個商業注冊運行的asp程序)等等
❿ 怎樣在asp.net中 實現多個文件打包下載
先下載 ICSharpCode.SharpZipLib.dll
public string cutStr = "";
public void ZipFile(string FileToZip, string ZipedFile, int CompressionLevel, int BlockSize)
{
//如果文件沒有找到則報錯。
if (!System.IO.File.Exists(FileToZip))
{
throw new System.IO.FileNotFoundException("The specified file " + FileToZip + " could not be found. Zipping aborderd");
}
System.IO.FileStream StreamToZip = new System.IO.FileStream(FileToZip, System.IO.FileMode.Open, System.IO.FileAccess.Read);
System.IO.FileStream ZipFile = System.IO.File.Create(ZipedFile);
ZipOutputStream ZipStream = new ZipOutputStream(ZipFile);
ZipEntry ZipEntry = new ZipEntry("ZippedFile");
ZipStream.PutNextEntry(ZipEntry);
ZipStream.SetLevel(CompressionLevel);
byte[] buffer = new byte[BlockSize];
System.Int32 size = StreamToZip.Read(buffer, 0, buffer.Length);
ZipStream.Write(buffer, 0, size);
try
{
while (size < StreamToZip.Length)
{
int sizeRead = StreamToZip.Read(buffer, 0, buffer.Length);
ZipStream.Write(buffer, 0, sizeRead);
size += sizeRead;
}
}
catch (System.Exception ex)
{
throw ex;
}
ZipStream.Finish();
ZipStream.Close();
StreamToZip.Close();
}
//Get all DirectoryInfo
private void direct(DirectoryInfo di, ref ZipOutputStream s, Crc32 crc)
{
//DirectoryInfo di = new DirectoryInfo(filenames);
DirectoryInfo[] dirs = di.GetDirectories("*");
//遍歷目錄下面的所有的子目錄
foreach (DirectoryInfo dirNext in dirs)
{
//將該目錄下的所有文件添加到 ZipOutputStream s 壓縮流裡面
FileInfo[] a = dirNext.GetFiles();
this.writeStream(ref s, a, crc);
//遞歸調用直到把所有的目錄遍歷完成
direct(dirNext, ref s, crc);
}
}
private void writeStream(ref ZipOutputStream s, FileInfo[] a, Crc32 crc)
{
foreach (FileInfo fi in a)
{
//string fifn = fi.FullName;
FileStream fs = fi.OpenRead();
byte[] buffer = new byte[fs.Length];
fs.Read(buffer, 0, buffer.Length);
//ZipEntry entry = new ZipEntry(file);
Path.GetFileName(file);
string file = fi.FullName;
file = file.Replace(cutStr, "");
ZipEntry entry = new ZipEntry(file);
entry.DateTime = DateTime.Now;
// set Size and the crc, because the information
// about the size and crc should be stored in the header
// if it is not set it is automatically written in the footer.
// (in this case size == crc == -1 in the header)
// Some ZIP programs have problems with zip files that don't store
// the size and crc in the header.
entry.Size = fs.Length;
fs.Close();
crc.Reset();
crc.Update(buffer);
entry.Crc = crc.Value;
s.PutNextEntry(entry);
s.Write(buffer, 0, buffer.Length);
}
}
/// <summary>
/// 壓縮指定目錄下指定文件(包括子目錄下的文件)
/// </summary>
/// <param name="zippath">args[0]為你要壓縮的目錄所在的路徑
/// 例如:D:\\temp\\ (注意temp 後面加 \\ 但是你寫程序的時候怎麼修改都可以)</param>
/// <param name="zipfilename">args[1]為壓縮後的文件名及其路徑
/// 例如:D:\\temp.zip</param>
/// <param name="fileFilter">文件過濾, 例如*.xml,這樣只壓縮.xml文件.</param>
///
public bool ZipFileMain(string zippath, string zipfilename, string fileFilter)
{
try
{
//string filenames = Directory.GetFiles(args[0]);
Crc32 crc = new Crc32();
ZipOutputStream s = new ZipOutputStream(File.Create(zipfilename));
s.SetLevel(6); // 0 - store only to 9 - means best compression
DirectoryInfo di = new DirectoryInfo(zippath);
FileInfo[] a = di.GetFiles(fileFilter);
cutStr = zippath.Trim();
//壓縮這個目錄下的所有文件
writeStream(ref s, a, crc);
//壓縮這個目錄下子目錄及其文件
direct(di, ref s, crc);
s.Finish();
s.Close();
}
catch
{
return false;
}
return true;
}