[英]How to load a document(text,csv,excel) or BLOB file into a varbinary(MAX) database column using SSIS
[英]Print a Word document from VARBINARY(MAX) column
我创建了一个像Google Form这样的动态表单站点,其中一个要求是每次调查时我都可以附加一个Word文件,在打印调查表后应该打印。
那么,从数据库下载文件后,我需要做什么才能打印出来?
示例代码:
private void downloadFile()
{
string item = Request.Form["__EVENTARGUMENT"].ToString();
SQL sql_files = new SQL(ConnectionStringName.FilesSqlServer);
sql_files.ExecuteStoreProcedure(SqlStoreProcedureNames.spFileStorage, SqlOutputType.DataReader, new SQLParameter[]{
new SQLParameter(ParameterDirection.Input, SqlDbType.VarChar, "@IdRespuesta", Session["id_respuesta"].ToString()),
new SQLParameter(ParameterDirection.Input, SqlDbType.VarChar, "@ItemID", item),
new SQLParameter(ParameterDirection.Output, SqlDbType.VarChar, "@SpError")
});
if (sql_files.Reader.HasRows)
{
sql_files.Reader.Read();
Response.ClearContent();
Response.AddHeader("Content-Disposition", "attachment; filename=" + sql_files.Reader["name"].ToString());
Response.ContentType = sql_files.Reader["contenttype"].ToString();
byte[] fileBytes = (byte[])sql_files.Reader["bytes"];
Response.AddHeader("Content-Length", fileBytes.Length.ToString());
Response.BinaryWrite(fileBytes);
Response.Flush();
Response.End();
}
sql_files.Reader.Close();
}
我使用此代码下载文件,因此我需要更改它以便我可以打印Word文档。
问候,克拉克
您当前的代码将文件下载到客户端计算机。 您无法控制打印。 这一切都取决于客户。 你真的想在打印机上打印它还是意味着不同的东西?
编辑:
无法向用户显示打印对话框,因为它是特定于浏览器的。
您可以尝试的一件事是为Chrome 18+使用--kiosk
和--kiosk-printing
前缀。
请注意 ,您无法在Response.End()之后运行任何代码,而不会引起用户的请求。 如果要在Response.End()之后运行任何代码,则必须使用IFrame或WebHandler。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.