我读了很多关于的事情EventEmitter.但我不知道在哪种情况下我需要在我的Node.js应用程序中使用它.
我正在尝试为我的typo3扩展添加附件上传,因为正常的文件输入不适用于该设计.我决定添加一个文本输入,以显示值,以及一个按钮输入,以启动文件输入点击事件.这适用于FF和IE没有任何问题,但当我在Safari上尝试这个文件输入点击事件不起作用(其他人做!!!).
<form action=""
name="attachmentPostForm"
method="post"
onSubmit="createAttachmentPostAction(${uid});"
enctype="multipart/form-data"
target="attachementupload_target">
<input type=file
name="leadimagefile"
accept="image/gif,image/jpeg"
onChange="document.getElementById('ImageFakeFile').value = this.value"
id=imageTrueFile style="display:none">
<input type=text id=ImageFakeFile readonly>
<input type = button value="browse" onClick="document.getElementById('imageTrueFile').click()">
<input type="submit" value="upload" />
</form>
Run Code Online (Sandbox Code Playgroud)
有没有其他方法来实现这种效果,还是我必须在这种情况下使用"正常"文件输入?
我想知道如何销毁缓冲区以释放内存.
我有下面的代码,它创建一个缓冲区并将其作为响应发送.这很好但是当我玩一个像75000行一样的大数组时,我可以看到我的内存占用了1Go,没关系但是当发送响应时,这个内存保存而不是免费的......我试着设置var buffer为null在脚本的末尾,但没有任何附加...是否有解决方案来释放这个记忆?
var xlsxexport = require('node-xlsx');
module.exports = {
exportExcel: function (req, res) {
var excelData = []
// ...
// Construction of the array excelData
// ...
var buffer = xlsxexport.build([{name:'export', data:excelData}])
res.set 'Content-Type', 'application/vnd.openxmlformats'
res.set 'Content-Disposition', 'attachment; filename=' + filename
res.send buffer
}
}
Run Code Online (Sandbox Code Playgroud)