活动存储文件的S3直接链接

问题描述

我需要设置上传到AWS S3服务器的文件的直接链接。我正在使用class HomePage extends StatelessWidget { @override Widget build(BuildContext context) { return StreamBuilder( stream: Firestore.instance.collection("events").snapshots(),builder: (BuildContext context,AsyncSnapshot snapshot) { return snapshot.hasData ? Container( color: Colors.grey[850],child: createListView(snapshot.data.documents),) : Center( child: CircularProgressIndicator(),); }); } Widget createListView(List<DocumentSnapshot> documentList){ // find football and move it to the start position. DocumentSnapshot football = documentList.indexWhere((element) => element.eventName == 'football'); documentList.remove(football); documentList.insert(0,football); return ListView.builder( itemCount: documentList.length,itemBuilder: (BuildContext context,int index) { DocumentSnapshot events = snapshot.data.documents[index]; Event event = Event( events["eventName"],events["startTime"],events["coverImageUrl"],events["location"],events["description"]); return EventCard(event); },); } } 。但是它首先链接到服务器路径,然后重定向到S3存储桶路径。

我也尝试了以下代码,但不起作用

url_for(Model.first.image)

它引发错误

Model.first.image.service_url

解决方法

使用图像标签通过以下方式使用直接S3 URL:

<%= image_tag Model.first.image.variant(resize_to_limit: [50,50]).processed.service_url %>

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...