因此,我正在创建一个票证系统,我想做的是向我的票证中添加任何类型的文件,并将它们存储在我的数据库中.
因此,我正在创建一个票证系统,我想做的是向我的票证中添加任何类型的文件,并将它们存储在我的数据库中.
如果要上载16MB以上的文件,可以使用gridFs.
100
除此之外,如果您想存储PDF或图像等文件,可以使用base64 strings.然后,您可以将文件作为string存储在数据库中.
您可以了解如何生成base64字符串以及如何在浏览器中查看它.
<!DOCTYPE html>
<html>
<head>
<title>Convert to Base64</title>
<script src="https://code.jquery.com/jquery-1.9.1.min.js"></script>
</head>
<body>
<H1>Select file to upload and convert into base64 string</H1>
<hr>
<br>
<label for="fileUpload">Choose file:</label>
<input type="file" id="fileUpload" name="fileUpload" />
<br><br>
<button id="jsonConvert">Convert into Base64</button>
<img style='display:block; width:100px;height:100px;' id='base64image' src='' />
<iframe id='base64pdf' width='100%' height='100%' src=''>
</iframe>
</body>
</html>
<script type="text/javascript">
const toBase64 = file => new Promise((resolve, reject) => {
const reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = () => resolve(reader.result);
reader.onerror = error => reject(error);
});
$('#jsonConvert').click(function () {
const uploadedFile = document.querySelector('#fileUpload').files[0];
toBase64(uploadedFile)
.then(res => {
const filetype = res.split("/")[0];
if (filetype == "data:application") {
document.getElementById('base64pdf').src = res;
} else if (filetype == "data:image") {
document.getElementById('base64image').src = res;
}
console.log(res);
})
.catch(err => {
console.log(err);
})
});
</script>
100
您可以将文件上载到存储桶(如S3 bucket)中,并获取其链接,然后将该链接存储在数据库中.使用该链接可以查看它.
希望您能从以上方法中找到解决方案.