91网首页-91网页版-91网在线观看-91网站免费观看-91网站永久视频-91网站在线播放

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

【C#.net / Web開發】Windows Server 直接部署 OnlyOffice Document Server(極簡版)實現IIS網站瀏覽器在線編輯Office文檔

admin
2025年5月28日 11:24 本文熱度 227
Windows Server 直接部署 OnlyOffice Document Server(極簡版)實現 IIS 網站在線瀏覽器編輯 Office 文檔。

方案特點

  • 無需手動安裝依賴:使用官方安裝包自動集成 PostgreSQL、RabbitMQ、Erlang

  • ?一鍵式安裝:全程僅需運行安裝程序,無需配置復雜參數

  • 最小化資源占用:僅保留核心編輯功能,關閉非必要服務

一、安裝 OnlyOffice Document Server

1. 下載安裝包

2. 運行安裝程序(管理員身份)

  • 安裝路徑:建議 C:\ONLYOFFICE(避免中文或空格)

  • 端口設置

    • 若 IIS 已占用 80 端口,改為其他端口(如 8080

    • 命令行靜默安裝示例:(powershell)

    .\onlyoffice-documentserver.exe /DS_PORT=8080 /S

3. 驗證安裝

  • 訪問 http://服務器IP:端口/welcome/,出現歡迎頁即成功

  • 檢查服務是否運行(服務名 DsExampleSvc):powershell

net start | findstr "DsExampleSvc"

二、C# 集成代碼(ASP.NET Core 完整示例)

1. 后端代碼(DocumentController.cs

public class DocumentController : Controller

{

    private readonly string _docServerUrl = "http://your-server-ip:端口/"; // 替換為實際地址

    private readonly string _storagePath = Path.Combine("App_Data", "Documents");


    // 文檔編輯頁面

    [HttpGet]

    public IActionResult Edit(string fileName)

    {

        var config = new

        {

            documentServerUrl = _docServerUrl,

            key = Guid.NewGuid().ToString(),

            title = fileName,

            url = Url.Content($"~/Documents/{fileName}"),

            callbackUrl = Url.Action("Save", "Document", null, Request.Scheme)

        };

        return View(config);

    }


    // 保存文檔回調接口

    [HttpPost]

    public IActionResult Save()

    {

        try

        {

            var file = Request.Form.Files[0];

            var savePath = Path.Combine(_storagePath, file.FileName);

            Directory.CreateDirectory(_storagePath); // 確保目錄存在


            using (var stream = new FileStream(savePath, FileMode.Create))

            {

                file.CopyTo(stream);

            }

            return Json(new { error = 0 });

        }

        catch (Exception ex)

        {

            return Json(new { error = 1, message = ex.Message });

        }

    }

}

2. 前端頁面(Edit.cshtml

@model dynamic

<div id="editor" style="height: 95vh;"></div>


@section Scripts {

    <script src="@Model.documentServerUrl/web-apps/apps/api/documents/api.js"></script>

    <script>

        const config = {

            document: {

                fileType: "@Model.title.split('.').pop()",

                key: "@Model.key",

                title: "@Model.title",

                url: "@Model.url"

            },

            editorConfig: {

                callbackUrl: "@Model.callbackUrl",

                lang: "zh-CN",

                user: { id: "user-001", name: "Guest" } // 可自定義用戶信息

            },

            documentServerUrl: "@Model.documentServerUrl"

        };


        new DocsAPI.DocEditor("editor", config);

    </script>

}

三、關鍵配置說明

1. IIS 配置

  • 應用程序池:設置為 無托管代碼

  • MIME 類型

.docx → application/vnd.openxmlformats-officedocument.wordprocessingml.document  

.xlsx → application/vnd.openxmlformats-officedocument.spreadsheetml.sheet  

.pptx → application/vnd.openxmlformats-officedocument.presentationml.presentation

  • 目錄權限:確保 App_Data/Documents 目錄有寫入權限

2. OnlyOffice 配置優化

  • 關閉 JWT 驗證(簡化調試):
    修改 C:\ONLYOFFICE\DocumentServer\config\local.json

"token": { "enable": { "request": { "inbox": false, "outbox": false }, "browser": false } }
  • 允許私有 IP 訪問
    修改 C:\ONLYOFFICE\DocumentServer\config\default.json

"request-filtering-agent": { "allowPrivateIPAddress": true }

3. 數據庫簡化(可選)

  • 默認使用安裝包內嵌的 PostgreSQL,無需額外操作

  • 若需替換為 SQL Server:
    修改 C:\ONLYOFFICE\DocumentServer\config\local.json 中的數據庫配置段(需手動遷移數據)

四、系統架構圖

瀏覽器 → IIS ASP.NET Core 應用 → OnlyOffice Document Server (8080)

               ↑                           ↑

        SQL Server 數據庫        內嵌 PostgreSQL/RabbitMQ

               ↑

        文件存儲(App_Data/Documents)

五、常見問題與排查

問題現象解決方法
文檔無法加載檢查 OnlyOffice 服務是否運行,防火墻是否開放端口
保存回調失敗確保 callbackUrl 可通過公網訪問,關閉 JWT 驗證
中文文件名亂碼前端傳遞文件名時使用 encodeURIComponent(),后端解碼保存
內存占用過高建議服務器內存 ≥4GB,或限制并發編輯用戶數
端口沖突修改 OnlyOffice 端口(如 8080),避免與 IIS 沖突

六、擴展功能(可選)

  1. 用戶權限控制:在 editorConfig 中設置 permissions 字段限制編輯權限

  2. 版本歷史:結合 SQL Server 記錄每次保存的版本

  3. 文檔預覽:通過 /ConvertService.ashx 接口生成 PDF 預覽

通過此方案,您可在 30 分鐘內完成 OnlyOffice 的部署與集成,實現基礎的在線編輯功能。如需進一步優化,可參考 ONLYOFFICE API 文檔


該文章在 2025/5/28 11:28:19 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 国产玉足在线 | 91精品啪在线观 | 中文字幕二区在线 | 日韩国产欧美在线观 | 91视频黄版app | 国产精品之国产精品 | 国产女主播一区 | 日本免费综合 | 精品国产精品 | 中文字幕乱老妇 | 国产精品一区欧美日 | 国产老妇 | 国产午夜在线免费 | 国产区综合 | 国产操女在线 | 日韩看羞羞在线播放 | 国产欧美一二三区 | 拍免费视频 | 国产精品高清另 | 国产精品秘国产A级 | 精品国产9 | 午夜欧美 | 日韩在线欧美国产 | 岛国视频在| 制服丝袜国产精 | 91看片婬黄大片欧 | 国产在线高清理伦片 | 国产91精| 中文字幕日韩综合网 | 国产美女自拍视频 | 日本国产中文字幕 | 国产在线观看激情 | 欧美一区二区经典 | 国产精品乱伦综合 | 91网国| 青青青爽在 | 午夜福利在线91 | 国产精品尤物在线 | 国产精品自拍第一页 | 国产丝袜护土调 | 日韩视频www永 |