早上好,
有没有办法获取UNC路径的DriveInfo实例(例如“\ fors343a.ww123.somedomain.net \ folder \ 1 \”),因为例如......
var driveInfo = new System.IO.DriveInfo(drive);
...在上面使用该UNC路径时抛出ArgumentException(“对象必须是根目录(\”C:\\“)或驱动器号(\”C \“)。”)。
我将使用什么来检索有关该信息的信息,例如如何检查给定文件夹是否位于本地驱动器或unc路径上?
答案 0 :(得分:3)
DriveInfo
构造函数的“备注”部分说:
驱动器名称必须是a 'a'中的大写或小写字母 到'z'。你不能使用这种方法 获取有关驱动器名称的信息 是nullNothingnullptra null引用 (在Visual Basic中没有任何内容)或使用UNC (\ server \ share)路径。
我能够通过在Windows资源管理器中映射网络驱动器来使其工作。也就是说,我将“\ server \ share”映射到Z,然后DriveInfo("Z:\\");
给了我预期的结果。
不幸的是,没有简单的方法从C#映射网络驱动器。您要么必须执行外部命令(即“net use z:\ server \ share”),要么调用Windows WNetAddConnection2 API函数来执行此操作。无论你走到哪里,你都需要在完成后删除驱动器映射。
答案 1 :(得分:0)
在Windows上,以下内容在C#中运行良好(至少要获得最常用的大小):
$('#workspace-content').delegate('form#article', 'submit', function(){
var that = $('form#article'),
url = that.attr('action'),
type = that.attr('method'),
data = {};
data = that.serialize();
$.ajax({
type: type,
url : url,
data : data,
dataType: 'json',
success: function(data){
$('#header-search-field').append(data.msg).delay(3000).fadeOut(500, function(){
var that = $(this);
that.html('').fadeIn();
});
}
});
return false;
});
以下是一些示例代码(实际上并没有以这种形式编译,而是分散在多个文件中的工作代码中的点点滴滴):
<button id="save-article" type="submit" name="save" class="btn btn-info btn-xs pull-left">
<span class="glyphicon glyphicon-floppy-save"></span>
</button>
<input name="title" type="text" value="<?php echo $work->title;?>" class="form-control" id="title" placeholder="" />
<textarea row="10" name="article" class="form-control" id="article" placeholder=""><?php echo $work->article;?></textarea>
<button id="submit-article" type="submit" name="submit" class="btn btn-info btn-block">Send</button>
<input name="slug" type="hidden" value="<?php echo $work->slug;?>" />
不要试图在Linux或Mac上使用它 - 它必须为那些重写(我有兴趣看到它)。