我还没有看到任何关于此事的文件,但要详细说明:
我想使用活动存储在我的 rails 应用程序中上传文件,而不必使用浏览器的文件输入元素。无论是使用拖放,还是各种自定义文件选择器,最好告诉 ActiveStorage 上传文件并保存它,而不必使用文件输入元素。
另外:afaik,不允许隐藏文件输入并设置其文件内容(作为一种解决方法)。
这可能吗?有没有人有一个没有文件输入元素的例子?
我还没有看到任何关于此事的文件,但要详细说明:
我想使用活动存储在我的 rails 应用程序中上传文件,而不必使用浏览器的文件输入元素。无论是使用拖放,还是各种自定义文件选择器,最好告诉 ActiveStorage 上传文件并保存它,而不必使用文件输入元素。
另外:afaik,不允许隐藏文件输入并设置其文件内容(作为一种解决方法)。
这可能吗?有没有人有一个没有文件输入元素的例子?
您可以DirectUpload
为此目的使用该类。从您选择的库中接收到文件后,实例化 aDirectUpload
并调用其create
方法。create
上传完成时调用回调:
import { DirectUpload } from "activestorage"
// on file selection/drop {
const url = element.dataset.directUploadUrl
const upload = new DirectUpload(file, url)
upload.create((error, blob) => {
if (error) {
// Handle the error
} else {
// Add an appropriately-named hidden input to the form with a value of blob.signed_id
}
})
// }
此类是未记录的 Rails API 是内部规则的罕见例外。我们只是还没有开始记录它。