IT小春子 2025-03-16 14:46 采纳率: 69.6%
浏览 16

浏览器嵌入wps 有没有办法写这个回调地址呢?实现将js中的文件二进制流获取并保存在服务器指定的地址上

这个是浏览器嵌入wps的一段js代码 有没有办法写这个回调地址呢?实现将js中的文件二进制流获取并保存在服务器指定的地址上


/**
     * @desc 将当前文档保存到指定路径的服务器上
     *          注意: windows平台采用的上传不是表单上传,后台服务器需要参照upload_w.jsp来解析文件数据
     *               linux平台则采用标准的表单上传,后台服务器可以采用标准的表单处理逻辑
     * @param { String } uploadURL 保存到服务器的路径
     * @param { String } fileName 保存服务器指定文档名
     * @returns { Bool } Windows平台为true或false
     *             { String } Linux平台为json类型字符串
     */
    saveFileToSever: function(uploadURL, fileName) {
        var ret;

        if (undefined == fileName) {
            fileName = 'defaultSave.wps';
        }

        if (isWindowsPlatform()) {
            ret = this.pluginObj.saveURL(uploadURL, fileName);
        } else {
            var paramInfo = '{"fileName" :' + fileName + '}';
            ret = this.SaveDocumentToServerForLinux(uploadURL, paramInfo);
        }

        return ret;
    },

    SaveDocumentToServerForLinux: function(URL, paramInfo) {
        if (undefined == paramInfo || 0 == paramInfo.length) {
            paramInfo = "{}";
        }

        return this.pluginObj.SaveDocumentToServer(URL, paramInfo);
    },

    SaveDocumentToServer: function(URL, paramInfo) {
        return new Promise((resolve, reject) => {
            var xhr = new XMLHttpRequest();
            xhr.open('POST', URL, true);
            xhr.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');
            xhr.onreadystatechange = function() {
                if (xhr.readyState === 4) {
                    if (xhr.status === 200) {
                        resolve(xhr.responseText);
                    } else {
                        reject(xhr.statusText);
                    }
                }
            };
            xhr.send(paramInfo);
        });
    },

  • 写回答

4条回答 默认 最新

  • 道友老李 JWE233286一种基于机器视觉的水表指针读数识别及修正的方法 专利发明者 2025-03-16 14:47
    关注
    让【道友老李】来帮你解答,本回答参考gpt编写,并整理提供,如果还有疑问可以点击头像关注私信或评论。
    如果答案让您满意,请采纳、关注,非常感谢!
    这段代码实现了将当前文档保存到指定路径的服务器上的功能,其中涉及了不同平台下的保存方式:
    1. 对于Windows平台:调用saveURL方法将文件保存到指定路径。
    2. 对于Linux平台:调用SaveDocumentToServerForLinux方法将文件保存到指定路径。 对于实现回调地址来说,需要在服务器端准备一个接口,接受文件内容并保存到指定路径。下面给出一个简单的Node.js示例代码:
    const express = require('express');
    const app = express();
    const fs = require('fs');
    app.post('/uploadFile', (req, res) => {
        let data = '';
        req.on('data', (chunk) => {
            data += chunk;
        });
        req.on('end', () => {
            let jsonData = JSON.parse(data);
            let fileName = jsonData.fileName;
            let fileContent = req.body; // 文件内容
            fs.writeFile(`/path/to/save/${fileName}`, fileContent, (err) => {
                if (err) {
                    res.status(500).send('Error saving file');
                } else {
                    res.send('File saved successfully');
                }
            });
        });
    });
    app.listen(3000, () => {
        console.log('Server running on port 3000');
    });
    

    在上述代码中,通过POST请求/uploadFile接口上传文件内容并保存在指定路径上。在实际部署中,可以根据具体需求对上传接口进行更复杂的处理和安全性控制。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月16日