我正在从 base64 字符串嵌入 PDF,如下所示:
var pdfData = 'data:application/pdf;filename=MY_CUSTOM_FILENAME.pdf;base64,' +
'JVBERi0xLjcKCjEgMCBvYmogICUgZW50cnkgcG9pbnQKPDwKICAvVHlwZSAvQ2F0YWxvZwog' +
'IC9QYWdlcyAyIDAgUgo+PgplbmRvYmoKCjIgMCBvYmoKPDwKICAvVHlwZSAvUGFnZXMKICAv' +
'TWVkaWFCb3ggWyAwIDAgMjAwIDIwMCBdCiAgL0NvdW50IDEKICAvS2lkcyBbIDMgMCBSIF0K' +
'Pj4KZW5kb2JqCgozIDAgb2JqCjw8CiAgL1R5cGUgL1BhZ2UKICAvUGFyZW50IDIgMCBSCiAg' +
'L1Jlc291cmNlcyA8PAogICAgL0ZvbnQgPDwKICAgICAgL0YxIDQgMCBSIAogICAgPj4KICA+' +
'PgogIC9Db250ZW50cyA1IDAgUgo+PgplbmRvYmoKCjQgMCBvYmoKPDwKICAvVHlwZSAvRm9u' +
'dAogIC9TdWJ0eXBlIC9UeXBlMQogIC9CYXNlRm9udCAvVGltZXMtUm9tYW4KPj4KZW5kb2Jq' +
'Cgo1IDAgb2JqICAlIHBhZ2UgY29udGVudAo8PAogIC9MZW5ndGggNDQKPj4Kc3RyZWFtCkJU' +
'CjcwIDUwIFRECi9GMSAxMiBUZgooSGVsbG8sIHdvcmxkISkgVGoKRVQKZW5kc3RyZWFtCmVu' +
'ZG9iagoKeHJlZgowIDYKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDEwIDAwMDAwIG4g' +
'CjAwMDAwMDAwNzkgMDAwMDAgbiAKMDAwMDAwMDE3MyAwMDAwMCBuIAowMDAwMDAwMzAxIDAw' +
'MDAwIG4gCjAwMDAwMDAzODAgMDAwMDAgbiAKdHJhaWxlcgo8PAogIC9TaXplIDYKICAvUm9v' +
'dCAxIDAgUgo+PgpzdGFydHhyZWYKNDkyCiUlRU9G';
function loadPdf() {
var pdf= document.querySelector('.pdf')
var pobj = document.createElement('object')
pobj.className= "pdf_object"
pobj.setAttribute('data', pdfData)
pobj.setAttribute('type', 'application/pdf')
pdf.appendChild(pobj)
} Run Code Online (Sandbox Code Playgroud)
.pdf_object {
width: 100%;
height: 700px;
}Run Code Online (Sandbox Code Playgroud)
<div>
<button onclick="loadPdf();">
CLICK TO LOAD BELOW THE PDF
</button>
</div>
<div class="pdf"></div>Run Code Online (Sandbox Code Playgroud)
这适用于 Firefox 和 Chrome。
我的问题是我无法自定义 pdf 下载操作的文件名。请注意,我使用了filename …
鉴于这种习俗TypedDict TMyDict:
class TMyDict(TypedDict, total=False):
prop_a: int
prop_b: int
Run Code Online (Sandbox Code Playgroud)
还行吧:
def get_my_dict_works() -> TMyDict:
return {
'prop_a': 0,
'prop_b': 1
}
Run Code Online (Sandbox Code Playgroud)
但这不会:
def get_my_dict_fail() -> TMyDict:
d= {
'prop_a': 0,
'prop_b': 1
}
return d
Run Code Online (Sandbox Code Playgroud)
错误信息是:
Expression of type "dict[str, Unknown]" cannot be assigned to return type "TMyDict"
"dict[str, Unknown]" is incompatible with "TMyDict"
Run Code Online (Sandbox Code Playgroud)
如果我在分配 var 时添加类型注释,它就会起作用:
Expression of type "dict[str, Unknown]" cannot be assigned to return type "TMyDict"
"dict[str, Unknown]" is incompatible with "TMyDict"
Run Code Online (Sandbox Code Playgroud)
为什么?
base64 ×1
invariants ×1
javascript ×1
pdf ×1
pdf.js ×1
pdfobject ×1
python ×1
typeddict ×1
typing ×1