【问题标题】:How to "statically" specify a filename for BLOB download in Oracle Apex?如何在 Oracle Apex 中“静态”指定 BLOB 下载的文件名?
【发布时间】:2014-11-01 13:33:26
【问题描述】:

我在 Oracle Apex 中使用“文件浏览...”类型的页面项。

我可以将文件上传到 BLOB 数据库列中,然后下载,这很棒。

但是,我无法指定下载的文件名。默认情况下,它只是称为“下载”,没有任何文件扩展名。

我知道我可以指定数据库列来保存文件名和其他元数据(如下所述:Use of BLOB type column in Oracle APEX)。但是,我宁愿避免在数据库中包含更多列,因为每一行的文件名都是相同的 - 这将是大量重复数据。

我想做的只是为文件浏览...页面项中的所有下载指定一个静态文件名。

可以吗?如果有,怎么做?

【问题讨论】:

  • 你到底想做什么?更改存储在数据库中的文件的文件名?或者更改您稍后在 APEX 中显示的下载链接的名称?
  • 我想更改浏览器实际下载的文件的(默认)名称。
  • 我想在 Apex 4.1 中做类似的事情,但得出的结论是,唯一的方法是在页面加载后做一些 jQuery 技巧。就我而言,我认为这不值得。

标签: oracle oracle-apex


【解决方案1】:

在您的文件所在的表上创建一个视图。此视图将显示相同的行和列,但还会使用静态字符串添加 mimetype、文件名等列。像这样的:

CREATE VIEW downloads_v AS
SELECT d.col1
,      d.col2
,      ...
,      d.colX
,      'myfile.ext' as filename
,      'Application/Octet-Stream' as mime_type
,      'utf8' as charcater_set
from   downloads d;

然后您在此视图而不是原始表格上创建您的顶点报告。 通过这种方式,您可以获得与将这些列添加到表中相同的功能,但可以避免浪费存储空间。

【讨论】:

  • 不幸的是,我不是提问者;)
猜你喜欢
  • 1970-01-01
  • 2018-08-10
  • 2023-03-17
  • 1970-01-01
  • 1970-01-01
  • 2017-10-17
  • 2021-06-13
  • 2014-08-18
  • 1970-01-01
相关资源
最近更新 更多