資源簡介
該實(shí)例只是一個(gè) flexpager的測試實(shí)例,用vs打開的時(shí)候 可能無法加載項(xiàng)目,這時(shí),將解決方案文件OfficeToSwf1.1.sln中的 <E:\學(xué)習(xí)資料\OfficeToSwf> 路徑替換成你當(dāng)前的路徑即可
在運(yùn)行起來之后,訪問這個(gè)網(wǎng)址即可測試 http://localhost:8549/view.aspx?id=12
文件在線預(yù)覽
1.實(shí)現(xiàn)文件在線預(yù)覽,需要使用兩個(gè)軟件(pdf2swf.exe)和(SaveAsPDFandXPS.exe)
pdf2swf.exe無須安裝,程序直接調(diào)用
SaveAsPDFandXPS.exe 使用前安裝至服務(wù)器
2.目前僅支持word/excel/ppt/pptx 4種文件的轉(zhuǎn)換和預(yù)覽,在此基礎(chǔ)上還可以擴(kuò)展更過文件
3.文件上傳大小限制于100MB以內(nèi),通過config文件可以修改文件大小限制
4.實(shí)現(xiàn)原理:對上傳的先進(jìn)行轉(zhuǎn)換pdf,如果上傳格式為pdf,那么直接保存至服務(wù)器。
上傳成功之后,會自動(dòng)保存在服務(wù)器。點(diǎn)擊當(dāng)前上傳文件預(yù)覽是,在通過pdf轉(zhuǎn)換為swf文件,通過flash插件進(jìn)行預(yù)覽
5.上傳的文件統(tǒng)一保存在數(shù)據(jù)庫,保存的內(nèi)容包含上傳的文件和已經(jīng)轉(zhuǎn)換的pdf文件,swf文件未保存,直接存在服務(wù)器UploadFile文件夾下
6.數(shù)據(jù)庫為WenKu.mdf,該數(shù)據(jù)庫版本過高,有可能導(dǎo)致無法附件,可以通過一下SQL創(chuàng)建數(shù)據(jù)庫
create database WenKu
go
use WenKu
go
create table WenKu
(
[WID] [int] IDENTITY(1,1) NOT NULL,
[WName] [ntext] NULL,
[WUploadPath] [ntext] NULL,
[WSavePath] [ntext] NULL
)
7.通過AddFile.aspx上傳文件,返回Default3.aspx,查看已經(jīng)上傳的文件,點(diǎn)擊文件名進(jìn)行預(yù)覽
8.運(yùn)行邏輯,先上傳普通文件,點(diǎn)擊預(yù)覽時(shí)讀取文件,先轉(zhuǎn)換pdf在轉(zhuǎn)換成swf格式。再次預(yù)覽如果已存在,則不會轉(zhuǎn)換,否則將轉(zhuǎn)換
==================================================================================
權(quán)限問題
1:在"開始"->"運(yùn)行"中輸入dcomcnfg.exe啟動(dòng)"組件服務(wù)"
2:依次雙擊"組件服務(wù)"->"計(jì)算機(jī)"->"我的電腦"->"DCOM配置"
3:在"DCOM配置"中找到"Microsoft Excel 應(yīng)用程序",在它上面點(diǎn)擊右鍵,然后點(diǎn)擊"屬性",彈出"Microsoft Excel 應(yīng)用程序?qū)傩?對話框
4:點(diǎn)擊"標(biāo)識"標(biāo)簽,選擇"交互式用戶"
5:點(diǎn)擊"安全"標(biāo)簽,在"啟動(dòng)和激活權(quán)限"上點(diǎn)擊"自定義",然后點(diǎn)擊對應(yīng)的"編輯"按鈕,
在彈出的"安全性"對話框中填加一個(gè)"NETWORK SERVICE"用戶(注意要選擇本計(jì)算機(jī)名),并給它賦予"本地啟動(dòng)"和"本地激活"權(quán)限.
6:依然是"安全"標(biāo)簽,在"訪問權(quán)限"上點(diǎn)擊"自定義",然后點(diǎn)擊"編輯",在彈出的"安全性"對話框中也填加一個(gè)"NETWORK SERVICE"用戶,然后賦予"本地訪問"權(quán)限.
這樣,我們便配置好了相應(yīng)的Excel的DCOM權(quán)限.
7:如果只有Excel就設(shè)置Excel的程序,如果有Word那就也設(shè)置Word的程序
代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.Web;
using?System.Web.UI;
using?System.Web.UI.WebControls;
using?System.IO;
using?System.Web.SessionState;
using?Microsoft.Office.Core;
using?Word?=?Microsoft.Office.Interop.Word;
using?WenKu.Model;
using?WenKu.BLL;
public?partial?class?Manage_WenKu2_AddFile?:?System.Web.UI.Page
{
????void?Page_Load(object?sender?EventArgs?e)
????{
????}
????///?
????///?圖片上傳
????///?
????///?
????///?
????protected?void?Button1_Click(object?sender?EventArgs?e)
????{
????????if?(this.FileUpload1.HasFile)
????????{
????????????FileInfo?fileInfo?=?new?FileInfo(this.FileUpload1.FileName);
????????????string?extension?=?fileInfo.Extension.ToLower()
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2015-07-30?14:02??OfficeToSwf\
?????目錄???????????0??2015-07-30?14:54??OfficeToSwf\OfficeToSwf1.1\
?????文件????????1669??2015-07-30?11:39??OfficeToSwf\OfficeToSwf1.1.sln
?????文件???????19456??2015-07-30?17:30??OfficeToSwf\OfficeToSwf1.1.suo
?????文件?????????735??2012-11-05?13:47??OfficeToSwf\OfficeToSwf1.1\AddFile.aspx
?????文件????????3009??2012-11-05?14:24??OfficeToSwf\OfficeToSwf1.1\AddFile.aspx.cs
?????目錄???????????0??2015-07-30?11:30??OfficeToSwf\OfficeToSwf1.1\App_Code\
?????文件????????7162??2012-03-21?22:56??OfficeToSwf\OfficeToSwf1.1\App_Code\Office2Pdf.cs
?????文件????????1685??2012-11-05?13:39??OfficeToSwf\OfficeToSwf1.1\App_Code\Pdf2Swf.cs
?????文件????????3866??2010-12-24?13:16??OfficeToSwf\OfficeToSwf1.1\App_Code\SqlHelper.cs
?????目錄???????????0??2015-07-30?11:30??OfficeToSwf\OfficeToSwf1.1\App_Data\
?????文件?????3145728??2012-11-08?10:19??OfficeToSwf\OfficeToSwf1.1\App_Data\WenKu.mdf
?????文件?????1048576??2012-11-08?10:19??OfficeToSwf\OfficeToSwf1.1\App_Data\WenKu_log.ldf
?????目錄???????????0??2015-07-30?13:29??OfficeToSwf\OfficeToSwf1.1\Bin\
?????文件??????110592??2008-08-06?20:01??OfficeToSwf\OfficeToSwf1.1\Bin\aspnetpager.dll
?????文件??????259584??2014-01-10?14:03??OfficeToSwf\OfficeToSwf1.1\Bin\DocX.dll
?????文件???????45056??2007-08-23?21:37??OfficeToSwf\OfficeToSwf1.1\Bin\Interop.jmail.dll
?????文件?????1100392??2007-10-10?09:48??OfficeToSwf\OfficeToSwf1.1\Bin\Microsoft.Office.Interop.Excel.dll
?????文件??????????78??2015-07-30?11:39??OfficeToSwf\OfficeToSwf1.1\Bin\Microsoft.Office.Interop.Excel.dll.refresh
?????文件??????223856??2007-10-10?09:48??OfficeToSwf\OfficeToSwf1.1\Bin\Microsoft.Office.Interop.PowerPoint.dll
?????文件?????????270??2012-03-21?12:23??OfficeToSwf\OfficeToSwf1.1\Bin\Microsoft.Office.Interop.PowerPoint.dll.refresh
?????文件??????662120??2007-10-10?09:48??OfficeToSwf\OfficeToSwf1.1\Bin\Microsoft.Office.Interop.Word.dll
?????文件?????????258??2012-03-21?12:23??OfficeToSwf\OfficeToSwf1.1\Bin\Microsoft.Office.Interop.Word.dll.refresh
?????文件??????348160??2014-10-23?14:50??OfficeToSwf\OfficeToSwf1.1\Bin\Microsoft.Practices.EnterpriseLibrary.Common.dll
?????文件?????????106??2015-07-30?10:59??OfficeToSwf\OfficeToSwf1.1\Bin\Microsoft.Practices.EnterpriseLibrary.Common.dll.refresh
?????文件??????172032??2014-10-23?14:50??OfficeToSwf\OfficeToSwf1.1\Bin\Microsoft.Practices.EnterpriseLibrary.Data.dll
?????文件?????????102??2015-07-30?10:59??OfficeToSwf\OfficeToSwf1.1\Bin\Microsoft.Practices.EnterpriseLibrary.Data.dll.refresh
?????文件???????29760??2014-10-23?14:50??OfficeToSwf\OfficeToSwf1.1\Bin\Microsoft.Practices.ServiceLocation.dll
?????文件??????????88??2015-07-30?10:59??OfficeToSwf\OfficeToSwf1.1\Bin\Microsoft.Practices.ServiceLocation.dll.refresh
?????文件??????133944??2014-12-23?13:11??OfficeToSwf\OfficeToSwf1.1\Bin\Microsoft.Practices.Unity.dll
?????文件??????????68??2015-07-30?10:59??OfficeToSwf\OfficeToSwf1.1\Bin\Microsoft.Practices.Unity.dll.refresh
............此處省略83個(gè)文件信息
評論
共有 條評論