问题描述
我需要根据允许的扩展名(例如 png
、.pdf
等)的白名单验证上传的文件,并检查扩展名是否与真实文件内容相对应,以避免恶意文件。
目前文件上传是通过 fileUpload()
指令完成的,该指令解析文件元数据并将文件内容作为 Source[ByteString,Any]
提供,然后直接流式传输到 S3
存储:
def uploadFileRoute: Route =
path("files") {
post {
(withSizeLimit(documentSizeLimit) & fileUpload("file")) {
case (fileInfo: FileInfo,contentSource: Source[ByteString,Any]) =>
onSuccess(service.uploadToS3(fileInfo,contentSource)) {
completeDefault(_)
}
}
}
}
如果可能,是否有关于如何执行此类验证并继续使用流式上传(例如,不要在本地存储整个文件)的好的解决方案?感谢任何代码示例!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)