<html>
<body>
<input type="file" id='up' oninput="get()" />
<script>
function get() {
let fup = document.getElementById('up')
console.log("本地文件路径:" + fup.value)
}
</script>
</body>
</html>
前端通过传递给后端html_url,由后端服务器获取html文件进行渲染,生成pdf,然后将pdf上传云上服务器。根据发布的相关信息查询到,云上服务器存储html,前端通过传递给后端html_url,由后端服务器获取html文件进行渲染,生成pdf,然后将pdf上传云上服务器。选择pyppeteer,有如下依据,python官方库如xhtml2pdf只能处理类似富文本类的静态页面,而html需要js渲染,故借助浏览器是一种可行的实现方式,tornado是异步框架,pyppeteer是异步库匹配。HTML中使用input type="file"上传文件时,代码中只能得到文件的名称,而有些特殊的需要要求得到上传文件的绝对路径,为此采用Javascript实现得到文件的绝对路径。<form name="thisform" method="post"
action="<%=request.getContextPath()%>/movieManage.do" id="thisform" enctype="multipart/form-data">
<input type="file" name="theFile" onchange="document.getElementById('theFilePath').value=this.value"/>
<input type="hidden" id="theFilePath" name="theFilePath" value="">
</form>
注意:要有enctype="multipart/form-data"
Action代码:
String filePath = request.getParameter("theFilePath")
filePath既是上传文件的绝对路径。
浏览器中测试:
Firefox和IE中可以得到绝对路径。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)