我正在编写一个MVC3/Razor应用程序,其中一个要求是单击按钮即可生成和保存文件。
生成文件并将其作为FileResult返回到浏览器是没有问题的,对于单个文件,这是我的首选方法,因为它允许用户根据自己的选择打开或保存文件。
提示()用户在JavaScript中键入保存文件夹位置也不是问题。。。然而,这依赖于他们正确键入完整的路径名。。。这可以是UNC共享!
但是,我希望能够生成一整套文件,并传入应该保存这些文件的路径。$.ajax(..)调用正在工作,我可以从文本框或提示中传入路径。。。但我希望这是某种文件夹浏览器。
$(document).ready(function () {
$('#reportlink').click(function () {
//REPLACE THIS V
path = prompt('Please enter the path', 'd:\');
//REPLACE THIS ^
$.blockUI({ message: '<div class="reportloading"><span class="reportloadingtext">Loading Report...</span></div>' });
$.ajax({
url: 'Report/All',
type: 'POST',
dataType: 'text/json;',
data: { path: path },
success: function (valid) {
if (valid) { alert('valid') }
else { alert('invalid') }
}
});
$.unblockUI();
});
});
不幸的是,这在Javascript中是不可能的。
请查看这些讨论。。。
如何在文本框中写入要上传的文件的路径?
可以';在上传文件时无法获得完整地址
如何在Firefox 3 中从HTML输入表单获取文件路径
使用JavaScript不可能有文件夹浏览输入。