注册 登录
编程论坛 JavaScript论坛

求教:将<input type="file"选择文件改变为直接在代码中设置地址

aq8888 发布于 2023-06-13 09:43, 778 次点击
本人小白一个;要做一个利用word模板生成固定格式word文件的本地网页代码。代码如下:
<html>
    <body>
        <script src="https://cdnjs.
       <script src="https://
       <script src="https://cdnjs.
       <script src="https://
        <input type="file" id="doc" accept=".doc,.docx">
        <button onclick="generate()">Generate document</button>
        <script>
            const docs = document.getElementById("doc");
            window.generate = function generate() {
                const reader = new FileReader();
                if (docs.files.length === 0) {
                    alert("No files selected");
                }
                reader.readAsBinaryString(docs.files.item(0));
                reader.onerror = function (evt) {
                    console.log("error reading file", evt);
                };
                reader.onload = function (evt) {
                    const content = evt.target.result;
                    const zip = new PizZip(content);
                    const doc = new window.docxtemplater(zip, {
                        paragraphLoop: true,
                        linebreaks: true,
                    });
                    doc.render({
                        first_name: "John",
                      last_name: "123",
                    });
                    const blob = doc.getZip().generate({
                        type: "blob",
                        mimeType:
                            "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
                        compression: "DEFLATE",
                    });
                    saveAs(blob, "output.docx");
                };
            };
        </script>
    </body>
</html>
现在能做到的是点击按钮,手动选择模板(docx文件),再点击第二个按钮,可以导出文件。
我现在想要的是:去掉第一个按钮,直接在js中设置好模板的位置,比如“./example.docx”。
网上有很多类似的帖子,但模板的存放位置都是在网络服务器,我照搬(后将位置设为本地文件)的话有跨域问题,这个可以使用本地模板,但又多了一个(对于我来讲)手动选择模板的多余步骤。
请高手指导!!谢谢
1 回复
#2
yiyanxiyin2023-06-29 16:50
如果模板放本地, 那么你的html文件也放本地即可, 如果你的html放服务器上那么模板也要放服务器上
1