我创建了一个休息调用,使用Jersey回复CSV文件.
休息电话代码是:
@GET
@Path("/ReportWithoutADEStatus")
@Produces({ "application/ms-excel"})
public Response generateQurterlyReport(){
QuarterlyLabelReport quartLabelReport = new QuarterlyLabelReport();
String fileLoc=quartLabelReport.generateQurterlyLblRep(false);
File file=new File(fileLoc);
return Response.ok(fileLoc,"application/ms-excel")
.header( "Content-Disposition","attachment;filename=QuarterlyReport_withoutADE.csv")
.build();
}
Run Code Online (Sandbox Code Playgroud)
上面的代码读取在临时位置创建的csv文件,并使用rest调用响应csv.这完全正常.但现在要求已经改变了.在内存中传输文件内容,并以Rest API中的csv格式对其进行响应.
我从来没有完成流式传输到内存中的文件并回复REST中的内容.
有人可以帮我这个吗?
提前致谢.
我们的app中有一些下拉菜单,我们不能使用ng-options,因为我们需要在<options>标签本身设置title属性,这是ng-options无法实现的.
我们需要标题的原因是因为IE <9砍掉了长的值,它们仅在标题中可见(在元素悬停时显示)
现在,要看到这个问题我正在看下面的JS小提琴.
http://jsfiddle.net/nstuart/nF7eJ/(HTML Bit)
<div ng-app="myApp" ng-controller="MyCtrl">
<select ng-model="params.value">
<option value="">Any</option>
<option ng-repeat="v in options" value="{{v.value}}" title="{{v.name}}" ng-selected="{{v.value == params.value}}">{{v.name}}</option>
</select>
<p>{{params.value}}</p>
</div>
Run Code Online (Sandbox Code Playgroud)
理想情况下,select会选择 'test3',但你可以看到它被设置为一个空选项.我理解这是因为ng-options中没有ng-model的值,但那是因为我没有定义一个!
关于如何使这样的工作的任何想法?甚至可以为ng-options生成的选项添加标题,以便我们可以使用它?
编辑
更新了小提琴:http://jsfiddle.net/nstuart/nBphn/2/,如下面的答案中所述.