上传文件
1. 从前端上传文件: 在你的前端应用程序中,使用 Moralis SDK 进行文件上传。以下是一个简单的示例:
const fileInput = document.getElementById('fileInput');
fileInput.addEventListener('change', async (event) => {
const file = event.target.files[0];
const metadata = {
filename: 'myFile.txt', // 设置文件名
customKey: 'customValue', // 可选的自定义元数据
};
const fileData = new Moralis.File(file.name, file, file.type);
fileData.addMetadata(metadata);
try {
await fileData.save();
console.log('File uploaded successfully:', fileData);
} catch (error) {
console.error('Error uploading file:', error);
}
});
这里,fileInput 是一个文件输入元素,监听其变化事件,当用户选择文件后,将文件上传到 Moralis 服务器。
2. 从云函数上传文件: 你还可以在 Moralis 云函数中进行文件上传。以下是一个云函数的示例:
Moralis.Cloud.define('uploadFile', async (request) => {
const file = request.params.file;
const metadata = request.params.metadata || {};
const fileData = new Moralis.File(file.name, file, file.type);
fileData.addMetadata(metadata);
try {
await fileData.save();
console.log('File uploaded successfully:', fileData);
return fileData.toJSON();
} catch (error) {
console.error('Error uploading file:', error);
throw new Moralis.Error('File upload failed');
}
});
这里,云函数 uploadFile 接收一个文件对象和可选的元数据,并将文件上传到 Moralis 服务器。在云函数中,你可以更灵活地处理文件上传逻辑。
获取文件
1. 获取文件 URL: 通过 Moralis 文件对象,你可以获取文件的 URL。
const fileId = 'objectId_of_uploaded_file'; // 替换为实际的文件对象 ID
const file = new Moralis.File({ id: fileId });
const fileUrl = file.url();
console.log('File URL:', fileUrl);
这里,fileId 是上传文件时获取的文件对象的 ID,通过 url 方法获取文件的 URL。
2. 通过云函数获取文件: 在 Moralis 云函数中,你可以通过文件对象的 ID 获取文件数据。
Moralis.Cloud.define('getFileData', async (request) => {
const fileId = request.params.fileId; // 从前端传递的文件对象 ID
const file = new Moralis.File({ id: fileId });
try {
const fileData = await file.fetch();
console.log('File data:', fileData.toJSON());
return fileData.toJSON();
} catch (error) {
console.error('Error fetching file data:', error);
throw new Moralis.Error('Failed to fetch file data');
}
});
这里,云函数 getFileData 接收一个文件对象 ID,通过文件对象的 fetch 方法获取文件数据。
以上是 Moralis 文件服务的基本用法示例。确保查阅 Moralis 文件服务的官方文档以获取详细的信息和示例代码。
转载请注明出处:http://www.zyzy.cn/article/detail/11296/Moralis