这似乎是整个网络上一个臭名昭着的错误.因为我的情景不适合,所以我无法找到问题的答案.将图像保存到流时会抛出异常.
奇怪的是这与png完美配合,但是jpg和gif给出了上述错误,这是相当混乱的.
最相似的问题涉及将图像保存到没有权限的文件.具有讽刺意味的是,解决方案是使用内存流,因为我正在做....
public static byte[] ConvertImageToByteArray(Image imageToConvert)
{
using (var ms = new MemoryStream())
{
ImageFormat format;
switch (imageToConvert.MimeType())
{
case "image/png":
format = ImageFormat.Png;
break;
case "image/gif":
format = ImageFormat.Gif;
break;
default:
format = ImageFormat.Jpeg;
break;
}
imageToConvert.Save(ms, format);
return ms.ToArray();
}
}
Run Code Online (Sandbox Code Playgroud)
更多细节到例外.造成这么多问题的原因是缺乏解释:(
System.Runtime.InteropServices.ExternalException was unhandled by user code
Message="A generic error occurred in GDI+."
Source="System.Drawing"
ErrorCode=-2147467259
StackTrace:
at System.Drawing.Image.Save(Stream stream, ImageCodecInfo encoder, EncoderParameters encoderParams)
at System.Drawing.Image.Save(Stream stream, ImageFormat format)
at Caldoo.Infrastructure.PhotoEditor.ConvertImageToByteArray(Image imageToConvert) in C:\Users\Ian\SVN\Caldoo\Caldoo.Coordinator\PhotoEditor.cs:line 139
at …Run Code Online (Sandbox Code Playgroud) 我正在试验::selectionCSS3中的伪元素.在Firefox中它工作并且看起来很棒.我的网站有深蓝色背景.
我设置选择,使其在FF中看起来像这样.

但在chrome中,同样的测试看起来像这样.似乎chrome将选择解释为半透明,结果颜色是令人讨厌的.

有没有人知道是否有可能让Chrome的行为与Firefox相同.
这里参考的是我的css:
p::-moz-selection { background:#FFFF7D; color:#032764; }
p::-webkit-selection { background:#FFFF7D; color:#032764; }
p::selection { background:#FFFF7D; color:#032764; }
Run Code Online (Sandbox Code Playgroud)
谢谢
我想知道是否有人知道任何适合将N个未知大小的矩形装配到最小可能包含矩形中的算法.
最佳,我的意思是减少生成的包含矩形中剩余的空白量.
我想用它来从一系列图像中生成css sprites.
非常感谢,
伊恩
我有一个Jstree填充项目列表.当我单击一个节点时,部分加载了ajax.一切正常,直到我包含jquery.validate脚本来验证我的表单.
<script src="/scripts/jquery.validate.js" type="text/javascript"></script>
<script src="/scripts/MicrosoftMvcJQueryValidation.js" type="text/javascript"></script>
<script src="/areas/manager/scripts/jquery.jstree.min.js" type="text/javascript"></script>
<script src="/areas/manager/scripts/jquery.hotkeys.js" type="text/javascript"></script>
<script src="/areas/manager/scripts/admin-panel.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
只要我包含此文件,就无法选择树节点.拖放功能也不起作用.firebug中没有报告javascript错误.任何人都知道如何解决这些冲突?
谢谢
我有一个页面,包含两个输入字段City和Venue.我有来自Devbridge的自动完成插件, 非常适合城市领域.我现在想让它在场地领域工作.到目前为止我的javascript是:
<script type="text/javascript">
$(document).ready(function() {
$('#Event_City').autocomplete({
serviceUrl: '<%=Url.Action("GetCities", "Search") %>',
minChars:2,
width: 300,
delimiter: /(,|;)\s*/,
deferRequestBy: 150, //miliseconds
params: { country: 'Yes' },
});
$('#Event_Venue').autocomplete({
serviceUrl: '<%=Url.Action("GetVenues", "Search") %>',
minChars:2,
width: 300,
delimiter: /(,|;)\s*/,
deferRequestBy: 150, //miliseconds
params: { city: $("#Event_City").val() },
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
第二个自动完成通过另一个参数(城市)到我的控制器上的操作.然后我会用它来限制我对那个城市场地的回应.收到此参数但不包含在#Event_City中输入的当前值.相反,它包含默认值.
有人知道如何在调用自动完成时评估值吗?
我刚刚开始使用Javascript,所以请保持温和.
谢谢,
我正在开发一个小型CMS以获得乐趣,作为其中的一部分,我在应用程序启动时从数据库注册路由.用户可以自己添加路线.问题是此路由存储在数据库中,因此在应用程序重新启动之前不会注册.
是否可以在没有重启应用程序的情况下重新注册路由?
如果没有,我如何按需重启应用程序?
干杯,
伊恩
我正在尝试设置grunt来缩小src目录中的一些js文件并将它们复制到构建目录中.遵循grunt任务文档,我相信以下配置应该有效.
uglify: {
dist: {
files: [
{
expand: true, // Enable dynamic expansion.
cwd: 'src/js/', // Src matches are relative to this path.
src: ['**/?.js'], // Actual pattern(s) to match.
dest: 'build/minified/', // Destination path prefix.
ext: '.min.js' // Dest filepaths will have this extension.
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行咕噜声时,我得到了消息
运行"uglify:dist"(uglify)任务警告:无法编写"build/minified"文件(错误代码:EISDIR).使用--force继续.
如果我将定义切换为使用手动文件路径,它可以正常工作.文档不正确吗?或者我使用它错了?
我正在运行grunt v0.4.0rc2
我正在Visual Studio 2008中构建一个C#解决方案,该解决方案具有多个项目和项目依赖项.
我正在寻找一种方法来改变DLL版本号只有当构建项目的代码发生变化时.
我目前使用Beyond Compare将我本地构建的版本与生产文件系统进行比较.目标是仅部署更新的dll.我正在使用自动增量版本号,每次打开visual studio并进行构建时,所有dll版本号都会增加.同样适用于完整的解决方案重建以及不同的开发人员进行构建并尝试部署时.
有没有办法可以将Visual Studio配置为仅根据更改的文件内容增加内部版本号?有没有添加,这将做到这一点?
由于dll中的版本号不同,似乎这些文件的二进制比较也会失败.有没有人知道一个更好的工具只比较dll的内容?
提前致谢.
我一直在开发一个纯粹的 MVC CMS 来玩,并且遇到了 ASP.NET 路由的一个恼人的错误/功能。
我的 CMS 中的每个动态管理页面都与从数据库中提取的特定路由相关联。这些在应用程序启动时加载。当用户添加新页面或编辑现有页面的 Url 时,我需要能够编辑 RouteTable 以相应地插入/编辑路由。
问题是新路由不需要简单地添加到 RouteCollection 的末尾,而是可能需要插入到特定位置。看起来很合乎逻辑,只是 RouteCollection 只包含Insert(int idx, RouteBase route)继承自Collection<T>不包含路由名称的标准方法。路线的名称很重要,因为我始终使用它来生成操作链接。
看着反射器,我看不到扩展这个集合的简单方法,因为 _namedMap 字典被标记为私有。我尝试在插入点切掉集合并再次重新添加每个项目,但是因为没有方法可以从 RouteCollection 反向查找路由的名称,所以我无法使用它们之前可能拥有的名称重新添加它们。好郁闷!!!
为什么路由的名称不是路由对象的属性?为什么如果 MS 对我们扩展 MVC 和 Routing 是认真的,他们会让关键类难以扩展吗?
关于这里的最佳解决方案的任何建议?
编辑 :
好吧,也许我应该是非常非常清晰的在这里。我不是在寻求对我的 CMS 设计的批评。我很欣赏评论,但这不是我要问的。
简化的问题。如何在运行时将命名路由插入路由集合?类上的当前插入方法是不够的,因为它不包含名称。
干杯,
伊恩
c# ×3
asp.net-mvc ×2
css ×2
javascript ×2
jquery ×2
routing ×2
algorithm ×1
asp.net ×1
autocomplete ×1
bin-packing ×1
css3 ×1
dll ×1
gdi+ ×1
gruntjs ×1
ios ×1
jstree ×1
packing ×1
scroll ×1
uglifyjs ×1
webkit ×1