从struts2操作多个contentType流视频? [英] stream video from struts2 action multiple contentType?

查看:77
本文介绍了从struts2操作多个contentType流视频?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试播放视频文件,因为我的动作contentType设置为

I am trying to play video file, for my action contentType is set to

应用程序/八位字节流

application/octet-stream

现在,如果我将其更改为音频/mpeg,则用户无法下载其他类型的文件.我只想知道是否可以设置多个内容类型?如果不可能,那么在用户可以上传和下载任何类型的文件的情况下,我该怎么办.

now if i change it to audio/mpeg, then user cant download other types of files. I would like to simply know can we set multiple content type if so how? and if its not possible what should i do in a situation where user can upload and download anytype of file.

推荐答案

当然可以.

您必须输出 流结果类型 ,然后指定一个 parameter contentType ,例如:

Struts.xml

Struts.xml

<result name="success" type="stream">
  <param name="contentType">${yourContentType}</param>
  <param name="inputName">inputStream</param>
  <param name="contentDisposition">attachment;filename="${yourFileName}"</param>
  <param name="bufferSize">1024</param>
</result>

动作

@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(在浏览器中打开)打开文件.

You can parameterize the contentDisposition part to specify when a file must be opened as attachment (ask for download) or inline (open in browser) according to your needs.

这篇关于从struts2操作多个contentType流视频?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆