来自struts2的video流动作多个contentType?
我正在尝试播放video文件,因为我的动作是将contentType设置为
应用/八位字节流
现在,如果我将其更改为audio / mpeg,则用户无法下载其他类型的文件。 我想知道我们可以设置多种内容类型,如果是这样的话怎么样? 如果它不可能在用户可以上传和下载任何类型的文件的情况下该怎么办。
当然可以。
您必须从Action输出Stream Result类型 ,并指定参数contentType ,例如:
在struts.xml
${yourContentType} inputStream attachment;filename="${yourFileName}" 1024
行动
@Getter @Setter private InputStream inputStream; @Getter private String yourContentType; @Getter private String yourFileName; public String execute() throws Exception { yourContentType = "audio/mpeg"; yourFileName = "yourStuff.mp3"; byte[] yourContent = loadTheContentInSomeWay(); setInputStream(new ByteArrayInputStream(yourContent)); return SUCCESS; }
您可以参数化contentDisposition
部分,以指定何时必须根据您的需要将文件作为attachment
(请求下载)或inline
(在浏览器中打开)打开。