小编Spa*_*ile的帖子

在HTML5画布上绘制旋转文本

我正在开发的Web应用程序的一部分要求我创建条形图来显示各种信息.我想,如果用户的浏览器能够,我会使用HTML5 canvas元素绘制它们.我没有问题为我的图形绘制线条和条形图,但是当标记轴,条形图或线条时,我遇到了障碍.如何将旋转的文本绘制到画布元素上,以便它与标记的项目对齐?几个例子包括:

  • 逆时针旋转文本90度以标记y轴
  • 逆时针旋转文本90度以在垂直条形图上标记条形
  • 将文本旋转任意数量以标记折线图上的线条

任何指针将不胜感激.

javascript html5 canvas

61
推荐指数
4
解决办法
9万
查看次数

如何设置从浏览器下载的文件名?

我正在编写一个Web应用程序,除其他外,它允许用户将文件上传到我的服务器.为了防止名称冲突和组织文件,我将它们放在我的服务器上后重命名.通过跟踪原始文件名,我可以与文件的所有者进行通信,而他们不知道我在后端更改了文件名.也就是说,直到他们去下载文件.在这种情况下,系统会提示他们下载一个名称不熟悉的文件.

我的问题是,有没有办法只使用HTML指定要下载的文件的名称?因此,用户上传名为'abc.txt'的文件并将其重命名为'xyz.txt',但是当他们下载它时,我希望浏览器默认将文件保存为'abc.txt'.如果仅使用HTML无法做到这一点,有没有办法做到这一点?

html download savefiledialog

50
推荐指数
3
解决办法
5万
查看次数

如何显示资源可绘制列表

我想在列表中显示所有资源drawable,以便用户可以选择一个.有没有办法循环遍历所有R.drawable项目,所以我不必将它们硬编码到我的程序中?

android

17
推荐指数
1
解决办法
1万
查看次数

Android:View.getTag/setTag和IllegalArgumentException

是的,我知道在调用需要密钥的这些函数的版本时需要一个唯一的资源ID,但我不能在我的生活中弄清楚如何创建可以这种方式使用的资源ID.我班上的最后一个变量不会工作,硬编码值也不会.两者都抛出了IllegalArgumentException.那么是什么,你如何使用这些方法?

Spara

android

15
推荐指数
2
解决办法
2万
查看次数

使用自定义Razor视图引擎处理布局属性

我已经实现了一个类似于这里描述的多租户视图引擎:

让我覆盖视图的搜索位置,如下所示:

    MasterLocationFormats = new[]
    {
        "~/Views/%1/{1}/{0}.cshtml",
        "~/Views/%1/Shared/{0}.cshtml",
        "~/Views/Default/{1}/{0}.cshtml",
        "~/Views/Default/Shared/{0}.cshtml",
    };
Run Code Online (Sandbox Code Playgroud)

其中%1替换为活动租户的正确文件夹.这是一个很好的例外问题.当我在我的视图上定义布局路径时,如下所示:

Layout = "~/Views/Default/Shared/_MyLyout.cshtml";
Run Code Online (Sandbox Code Playgroud)

由于我必须硬编码布局页面的确切位置,这有点违背了多租户的目的.我希望能够做到这样的事情:

Layout = "~/Views/%1/Shared/_MyLyout.cshtml";
Run Code Online (Sandbox Code Playgroud)

如果我想允许租户拥有他们的一个布局页面,我将如何支持这个?

我试图摆弄我覆盖的视图引擎方法:

  • CreatePartialView
  • CreateView的
  • 文件已存在

但似乎没有任何东西能够动态指定布局页面.

更新:

这是我到目前为止所做的工作.我使用了这个问题的答案/sf/answers/650191881/稍加修改以创建一个HTML帮助器:

public static string GetLayoutPageForTenant( this HtmlHelper html, string LayoutPageName )
{
    var layoutLocationFormats = new[]
    {
        "~/Views/{2}/{1}/{0}.cshtml",
        "~/Views/{2}/Shared/{0}.cshtml",
        "~/Views/Default/{1}/{0}.cshtml",
        "~/Views/Default/Shared/{0}.cshtml",
    };

    var controller = html.ViewContext.Controller as MultiTenantController;
    if( controller != null )
    {
        var tenantName = controller.GetTenantSchema();
        var controllerName = html.ViewContext.RouteData.Values["Controller"].ToString();

        foreach( var item in layoutLocationFormats )
        { …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc viewengine multi-tenant razor

12
推荐指数
1
解决办法
4002
查看次数

使用include设置的Maven程序集依赖项不会获取传递依赖项

我有一个麻烦的Maven集会目标.我有一个项目,它有许多依赖项,每个项都可能有自己的传递依赖项.如果我运行mvn依赖:树比我看到所有依赖包括传递都满足.

当我运行程序集目标时,情况就不是这样了.我想要的是当我添加一个依赖项时,还包括所有的传递依赖项.在下面的示例中,我希望包含三个依赖项.因此,在构建程序集时,我希望这些依赖项以及这些依赖项的任何传递依赖项.

<assembly>
<baseDirectory>${artifactId}/${artifactId}-${version}</baseDirectory>
<formats>
    <format>zip</format>
</formats>

<fileSets>
</fileSets>

<dependencySets>
    <dependencySet>
        <unpack>false</unpack>
        <scope>runtime</scope>
        <outputDirectory>/lib
        </outputDirectory>
        <includes>
            <include>com.acme.core:library-1</include>
            <include>com.acme.core:library-2</include>
            <include>com.acme.core:library-2</include>
        </includes>
    </dependencySet>
</dependencySets>
Run Code Online (Sandbox Code Playgroud)

但是如果你打开zip文件,你只会发现存在这三个依赖项,这意味着在运行时由于缺少库,应用程序不适合用途.我发现这完全不直观,因为它违背了人们对POM的期望.

有谁遇到过这个问题并且有解决方案吗?

maven

11
推荐指数
1
解决办法
1万
查看次数

使用CSS在悬停时突出显示两个表行

使用CSS在鼠标悬停时更改表格中行的背景颜色非常简单:

.HighlightableRow:hover
{
  background-color: lightgray;
}
Run Code Online (Sandbox Code Playgroud)

还有一些HTML:

<table>
  <tr class=HighlightableRow>
    <td>Cell 1</td>
    <td>Cell 2</td>
    <td>Cell 3</td>
  <tr>
  <tr class=HighlightableRow>
    <td>Cell 1</td>
    <td>Cell 2</td>
    <td>Cell 3</td>
  <tr>
</table>
Run Code Online (Sandbox Code Playgroud)

偶尔,当我将鼠标悬停在其中任何一个上时,我想突出显示一对行.例如,当在表格中显示工作单列表时,我会有一行包含创建者,创建日期,紧急程度等,第二行除了要求的工作外.

除了使用JavaScript onmouseover/onmouseout事件处理程序之外,还有什么方法可以像上面显示的那样创建这种效果吗?最好使用CSS.

css html-table hover

6
推荐指数
2
解决办法
2万
查看次数

IsRowVersion只能配置为字节数组属性

我最近通过NuGet更新程序从EntityFramework 5升级到6.一切似乎进展顺利,我构建并执行了我的应用程序.当我尝试从数据库中检索第一个实体时,我收到此错误:

属性"UpdatedDate"不是字节数组.IsRowVersion只能配置为字节数组属性.

这是它所指的代码段:

[Timestamp]
public virtual DateTime UpdatedDate { get; set; }
Run Code Online (Sandbox Code Playgroud)

我尝试删除timestamp属性,但无论如何都会得到相同的错误.我如何解决这个问题,以便我可以使用EF6运行我的应用程序?

c# entity-framework ef-code-first entity-framework-6

5
推荐指数
1
解决办法
2325
查看次数

使用AWS作为应用程序日志数据库

我目前正在开发一个生成大量日志数据的大型Web应用程序.因为我们没有将所有事件记录到数据库的基础结构,所以我们将它们写入文件.不幸的是,这使得在日志中搜索特定事件非常困难,并且无法生成频率报告.

在试图找出如何实现更好的数据库日志记录时,我找到了亚马逊的服务.特别是SimpleDBDynamoDB.SimpleDB的一个用例是记录,但后来它说明了这一点

Amazon SimpleDB旨在存储相对少量的数据......

这似乎是矛盾的.这是我的问题:

  1. 这些数据库服务是否适合记录应用程序事件?
  2. 是否适合从日志数据生成报告?
  3. 我会使用时间戳作为主键吗?
  4. 这种服务有什么缺点或我应该考虑的其他事情吗?

更新2018-06-13:我已经使用SimpleDB在大型应用程序上记录应用程序数据.关键是将日志划分为与其生成时间段相对应的域(例如每天),以确保它们不会超出其限制.然后设置CRON作业以定期删除旧域.该解决方案运行良好,易于搜索.

logging error-logging amazon-web-services

4
推荐指数
1
解决办法
1625
查看次数

在不使用磁盘的情况下动态压缩流

我正在尝试在我的 C# MVC 项目中编写一个方法,该方法从 S3(或任何地方)流式传输文件,并将其动态压缩为 zip 文件,然后再将压缩流发送给用户。到目前为止,我已经找到了几种通过将流保存到磁盘然后正常返回来从流创建 zip 文件的方法,但我想跳过保存到磁盘并使用缓冲区到流的方法。我正在尝试下载一个非常大的文件(4GB+),该文件很容易压缩到其原始大小的一小部分。

到目前为止,我已经避免了磁盘,但似乎首先将整个文件加载到内存中:

using( var memoryStream = new MemoryStream() )
{
    using( var archive = new ZipArchive( memoryStream, ZipArchiveMode.Create, true ) )
    {
        var zipEntry = archive.CreateEntry( File );

        using( var entryStream = zipEntry.Open() )
        {
            S3.StreamFile( File, Bucket ).CopyTo( entryStream );
        }
    }

    return base.File( memoryStream.ToArray(), "application/zip", File + ".zip" );
}
Run Code Online (Sandbox Code Playgroud)

类似的问题(Creating a ZIP Archive in Memory using System.IO. Compression)仅包含涉及写入磁盘的答案。

c# amazon-s3 asp.net-mvc-5

3
推荐指数
1
解决办法
1742
查看次数

获取运行可执行文件的文件句柄

我试图在我自己的运行程序的可执行文件上调用GetFileInformationByHandle.这意味着我需要获取启动程序的.exe文件句柄.有没有办法做到这一点?

如果失败了,有没有办法获得正在运行的可执行文件的nFileIndexHigh和nFileIndexLow?

c c++ windows winapi

1
推荐指数
1
解决办法
6946
查看次数