我如何使用 Dropzone display/edit React/Javascript 中的 ActiveStorage S3 映像?

How can I display/edit an ActiveStorage S3 image in React/Javascript using Dropzone?

我目前在 Rails + React + Redux + Dropzone 上使用 Ruby 上传图片。

我有一个表格,允许您通过 Dropzone 附加图像并上传它们。该表单还将在 React 视图中显示您上传的预览。

此外,我已经成功地使用 dropzone 和 activestorage 将我上传的图像存储到 S3。

然而,下一步是当有人想要编辑同一个表单时在同一个 dropzone 上传器中显示这些图像,它采用 Javascript File 对象数组来显示图像。我的问题是我应该怎么做呢?我是否需要 return 来自 Rails API 的 Blob,或者我可以如何使用图像 URL?我对如何进行有点模糊,希望得到任何指导。

谢谢!

dropzone 只负责上传我们的图片

您只需要获取 S3 对象 URL 并将其作为常规图像显示在您的表单中

然后将 Dropzone 上传表单放在您的图片后面,这样您的用户就会明白这是一种替换现有图片的表单

因此在您的 edit.html.erb 视图中,首先从 S3 获取图像 URLs

<h3>Existing image:</h3>
<%= url_for(record.image) %>
# Dropzone form here

并在 update 操作中附加新图像文件