将数据转储到响应流时如何指定文件名?
现在我正在做以下事情:
byte[] data= GetFoo();
Response.Clear();
Response.Buffer = true;
Response.ContentType = "application/pdf";
Response.BinaryWrite(data);
Response.End();
Run Code Online (Sandbox Code Playgroud)
使用上面的代码,我得到"foo.aspx.pdf"作为要保存的文件名.我似乎记得能够在响应中添加标头以指定要保存的文件名.
我一直在使用ghostscript做pdf来从pdf中生成单页图像.现在我需要能够从pdf中提取多个页面并生成一个长垂直图像.
有没有一个我错过的论据允许这个?
到目前为止,当我调用ghostscript时,我正在使用以下参数:
string[] args ={
"-q",
"-dQUIET",
"-dPARANOIDSAFER", // Run this command in safe mode
"-dBATCH", // Keep gs from going into interactive mode
"-dNOPAUSE", // Do not prompt and pause for each page
"-dNOPROMPT", // Disable prompts for user interaction
"-dFirstPage="+start,
"-dLastPage="+stop,
"-sDEVICE=png16m",
"-dTextAlphaBits=4",
"-dGraphicsAlphaBits=4",
"-r300x300",
// Set the input and output files
String.Format("-sOutputFile={0}", tempFile),
originalPdfFile
};
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用asp.net mvc进行一个新项目,我遇到了一些奇怪的事情.当我为文本框使用MVC UI助手时,值会在调用之间保持不变.但是,当我使用一系列单选按钮时,检查状态不会持续存在.
以下是我看来的一个例子.
<li>
<%=Html.RadioButton("providerType","1")%><label>Hospital</label>
<%=Html.RadioButton("providerType","2")%><label>Facility</label>
<%=Html.RadioButton("providerType","3")%><label>Physician</label>
</li>
Run Code Online (Sandbox Code Playgroud)
当表单被发回时,我构建了一个"ProviderType"作为其中一个属性的对象.对象的值已设置,然后我将RedirectToAction与提供程序一起作为参数.一切都很好,我最终得到一个URL,如" http:// localhost/Provider/List?ProviderType = 1 ",显示ProviderType.该值将持久保存到URL,但UI帮助程序未获取已检查状态.
我遇到了listbox,dropdownlist和radiobutton 这个问题.文本框可以很好地获取值.你看到我做错了吗?我假设帮助者会为我做这件事,但也许我只需要自己照顾这个.我只是感觉自己的方式,所以你的意见是赞赏的.
编辑:我刚刚找到了SelectList构造函数的覆盖,它取一个选定的值.这照顾了我上面提到的下拉问题.
编辑#2:我发现了一些有效的东西,但这样做让我很难受.我觉得应该推断出来.
<li>
<%=Html.RadioButton("ProviderType","1",Request["ProviderType"]=="1")%><label>Hospital</label>
<%=Html.RadioButton("ProviderType", "2", Request["ProviderType"] == "2")%><label>Facility</label>
<%=Html.RadioButton("ProviderType", "3", Request["ProviderType"] == "3")%><label>Physician</label>
</li>
Run Code Online (Sandbox Code Playgroud)
希望有人能想出另一种方式.
在XSLT文档中,是否可以循环当前目录中的一组文件?
我有一个情况,我有一个充满xml文件的目录,需要进行一些分析才能生成报告.我的样式表在单个文档上运行很好,但是我想扩展它而不需要另一个工具来合并xml文档.
我在考虑这些问题:
<xsl:for-each select="{IO Selector Here}">
<xsl:variable select="document(@url)" name="contents" />
<!--More stuff here-->
</xsl:for-each>
Run Code Online (Sandbox Code Playgroud) 给定一个函数zipdistance(zipfrom,zipto),它计算两个邮政编码和下表之间的距离(以英里为单位):
create table zips_required(
zip varchar2(5)
);
create table zips_available(
zip varchar2(5),
locations number(100)
);
Run Code Online (Sandbox Code Playgroud)
我如何构建一个查询,它将从zips_required表返回给我每个邮政编码,以及产生和(位置)> = n的最小距离.
到目前为止,我们只是运行一个详尽的循环查询每个半径,直到我们符合标准.
--Do this over and over incrementing the radius until the minimum requirement is met
select count(locations)
from zips_required zr
left join zips_available za on (zipdistance(zr.zip,za.zip)< 2) -- Where 2 is the radius
Run Code Online (Sandbox Code Playgroud)
这可能需要一段时间才能列入大型列表.感觉这可以通过以下方式使用oracle分析查询来完成:
min() over (
partition by zips_required.zip
order by zipdistance( zips_required.zip, zips_available.zip)
--range stuff here?
)
Run Code Online (Sandbox Code Playgroud)
我所做的唯一分析查询是基于"row_number over(按顺序分区)",我正在用这个进入未知区域.非常感谢任何有关这方面的指导.
在触发器内部,我试图遍历表格上的所有列,并将新值与旧值进行比较.这是我到目前为止:
CREATE OR REPLACE TRIGGER "JOSH".TEST#UPD BEFORE
UPDATE ON "JOSH"."TEST_TRIGGER_TABLE" REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW
declare
oldval varchar(2000);
newval varchar(2000);
begin
for row in (SELECT column_name from user_tab_columns where table_name='TEST_TRIGGER_TABLE') loop
execute immediate 'select :old.'||row.column_name||' from dual' into oldval;
execute immediate 'select :new.'||row.column_name||' from dual' into newval;
--Do something here with the old and new values
end loop;
end;
Run Code Online (Sandbox Code Playgroud)
触发器编译,但是当触发器触发时,我得到:
ORA-01008:并非所有变量都绑定
在第一次执行立即因为它期望值为:old. :old并且:new已经被定义为触发器的一部分,但看起来执行立即数不能看到那些变量.
有没有办法动态迭代触发器中的列值?