Javascript 如何将FileStreamResult保存到本地文件?
通过在视图中使用以下代码,我可以将字符串“aaa”保存到用户的本地计算机c:\myDir\myFile.txt:Javascript 如何将FileStreamResult保存到本地文件?,javascript,jquery,asp.net,asp.net-mvc,filestream,Javascript,Jquery,Asp.net,Asp.net Mvc,Filestream,通过在视图中使用以下代码,我可以将字符串“aaa”保存到用户的本地计算机c:\myDir\myFile.txt: var Test = function() { var sSelection = getselection(); $.get('/Archive/Save', { 'selection': sSelection }, function (response) { var fso = new ActiveXObject("Scripting.FileSystemObject
var Test = function() {
var sSelection = getselection();
$.get('/Archive/Save',
{ 'selection': sSelection },
function (response) {
var fso = new ActiveXObject("Scripting.FileSystemObject"),
theFile = fso.CreateTextFile("C:\\myDir\\myFile.txt", true);
theFile.Write('aaa'); //--->> Successfully write "aaa" to c:\myDir\myFile.txt
theFile.Close();
}
);
}
但是,控制器返回FileStreamResult,当我执行以下代码时,得到错误“JavaScript运行时错误:无效的过程调用或参数”:
这是控制器中的代码:
public ActionResult Save(string selection)
{
int cnt = SetTempData(selection);
FileStreamResult fs = ArcTicket(0);
return fs;
}
如何将FileStreamResult保存到文件?
谢谢。因为它是一个
.txt
返回字符串,而不是文件tramResultsOrry,我实际上想保存到PDF文件C:\\myDir\\myFile.PDF,而不是txt文件。这是控制器中创建PDF文件的代码:Byte[]PDF=mvcapapplication.Fop.Write(enumFobFormat.PDF,data,Server.MapPath(“/Resources/xslt/Ticket.xsl”);MemoryStream ms=新的MemoryStream(pdf);FileStreamResult fs=新的FileStreamResult(ms,“application/pdf”);因此,我无法返回字符串。是否确实需要将文件保存到特定位置C:\\myDir
?因为ActiveXObject
只在IE中工作。这是一个内部网系统,我们只有几个用户,他们只使用IE。我想将文件保存到用户的本地驱动器,这样我就可以执行返回窗口。打开(“file:///C:/myDir/myFile.pdf)以在新的IE选项卡上显示PDF文件。然后,用户可以将该文件从新选项卡拖放到他们的电子邮件中。我更喜欢FileResult而不是ActionResult。您可以使用return File(fileBytes,System.Net.Mime.MediaTypeNames.Application.Octet,fileName)函数或此函数的其他重载。由于它是Save操作中的.txt
returnstring
,而不是FileStramResultSorry,我实际上想保存到PDF文件C:\\myDir\\myFile.PDF,而不是txt文件。这是控制器中创建PDF文件的代码:Byte[]PDF=mvcapapplication.Fop.Write(enumFobFormat.PDF,data,Server.MapPath(“/Resources/xslt/Ticket.xsl”);MemoryStream ms=新的MemoryStream(pdf);FileStreamResult fs=新的FileStreamResult(ms,“application/pdf”);因此,我无法返回字符串。是否确实需要将文件保存到特定位置C:\\myDir
?因为ActiveXObject
只在IE中工作。这是一个内部网系统,我们只有几个用户,他们只使用IE。我想将文件保存到用户的本地驱动器,这样我就可以执行返回窗口。打开(“file:///C:/myDir/myFile.pdf)以在新的IE选项卡上显示PDF文件。然后,用户可以将该文件从新选项卡拖放到他们的电子邮件中。我更喜欢FileResult而不是ActionResult。您可以使用返回文件(fileBytes、System.Net.Mime.MediaTypeNames.Application.Octet、fileName)函数或此函数的其他重载。
public ActionResult Save(string selection)
{
int cnt = SetTempData(selection);
FileStreamResult fs = ArcTicket(0);
return fs;
}