数据库和服务器请求中的文件
如何发送文件到服务器并保存在数据库中
在所有的检查之后,我们可以确定,用户已经以正确的格式提交了文件。现在是将它们发送到服务器进行进一步处理的时候了。但首先,值得对处理文件的原则做一个重要解释。
文件的类型
你可能已经注意到,有两种不同类型的文件。第一种是我们刚刚工作过的,模型文件。第二个是文件的数据类型。它是一个易于存储在数据库中的ID,易于找到完整的模型。当设计一个数据库模型时,使用的是第二种类型。它可以和其他数据类型(字符串、整数和其他)一样使用,但同时,我们总是知道完整的模型隐藏在其ID后面。
当我们获得一个文件从 Filepicker或 Select Files块中获取文件时,它被表示为一个模型。但它还没有一个ID,因为该文件还没有被保存在服务器的数据库中。要做到这一点,你需要向端点发出适当的 Server request POST /_files/请求,因为这个端点是事先自动创建的。在这之后,文件被写入数据库,它的模型获得了一个ID,可以被完全使用。
图片的URL
使用Swagger ,看看还有哪些文件端点存在。我们现在就需要其中的一个。为了在前端使用文件作为图像,你需要获得给定文件的完整URL。这个任务由 GET /_files/:id/download/端点来解决。知道了文件的ID,你就可以使用它并获得确切的文件URL。
我们需要扩展作为一个结果的模型 Server request POST /_files/块获得的模型,并找出文件的ID。之后,ID必须被转换成一个字符串,使用 To String块将ID变成一个字符串。让我们用这个结果来收集最终的图像URL(与 GET request /_files/:id/download/).要做到这一点,我们使用 Concat Strings (Multiple)字符串连接块。第一部分是 "/api/_files/",第二部分是文件ID,第三部分是 "/download/"。
剩下的就是将生成的URL传递给 Image块。它是在设计阶段创建的,但最初有一个简单的存根作为一个图像。现在我们可以修复它。要做到这一点,使用 Image Update Properties块并将URL设置为图片。