问题列表 - 第9126页

使用Rails Paperclip gem,如果模型无效,如何临时保存上传的文件

我正在使用paperclip gem将文件附加到模型.使用Paperclip上载文件时,仅在保存模型时保存文件.因此,如果模型无效,则不保存上载的文件.有没有办法临时保存上传的文件,这样如果模型无效,用户不必上传同一个文件?

ruby-on-rails

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

Django中安装的应用程序 - 版本怎么样?

在查看Practical Django Projects的可重用应用程序章节并听取DjangoCon(Pycon?)讲座之后,似乎强调通过将应用程序安装到Python路径(即site-packages)来使您的应用程序可插入.

我不明白的是,当其中一个安装的应用程序的版本发生变化时会发生什么.如果我更新安装到site-packages的其中一个应用程序,那么这不会打破我使用它的所有当前项目吗?我从来没有注意到settings.py中的任何内容,您可以指定要导入的应用程序的版本.

我认为在Ruby/Rails中,他们能够在这种情况下冻结宝石.但是我们应该在Python/Django中做些什么呢?

python django version-control

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

为什么我的数组在php中显示为0?

我正在尝试制作一个创建3个字符串数组的文件,而不是随机显示3个字符串中的一个.有人能告诉我我做错了什么吗?

<?php

$pk[0] = "PK Fire!<br/>";
$pk[1] = "PK Thunder!<br/>";
$pk[2] = "PK Freeze!<br/>";

for($i = 0; $i < 5; $i++)
Echo "" + $pk[rand(0,2)] + "";

?>
Run Code Online (Sandbox Code Playgroud)

php arrays

0
推荐指数
3
解决办法
201
查看次数

排序差异

我目前正在学习一些不同的排序算法.由于对这些差异感到好奇,我试图找到他们的信息,但没有一个是足够好的.所以这里是我的问题,从性能和概念来看,冒泡排序,选择排序,插入排序,shell排序和快速排序之间的区别是什么.

sorting algorithm

0
推荐指数
2
解决办法
533
查看次数

memcached到期时间

Memcached提供缓存过期时间选项,该选项指定对象在缓存中保留的时间.假设所有写入都通过缓存,我无法理解为什么人们想要从缓存中删除对象.换句话说,如果所有写操作都在DB之前更新缓存,那么缓存永远不会包含陈旧对象,那么为什么要删除它呢?

一个可能的论点是,如果永远不会删除对象,缓存将无限增长,但memcached允许您指定最大大小.达到此大小后,memcached将使用最近最少使用(LRU)算法来确定要删除的项目.总而言之,如果已经配置了合理的最大大小,并且所有写入都是通过缓存,那么为什么要在一段时间后使对象失效?

谢谢,唐

language-agnostic memcached caching

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

从剪贴板(从Excel粘贴)获取包含重音字符的CSV数据

情景

  • 我的用户将从Excel复制单元格(从而将其放入剪贴板)
  • 我的应用程序将从剪贴板中检索这些单元格

问题

  • 我的代码从剪贴板中检索CSV格式
  • 但是,如果原始Excel内容包含ä(a with umlaut)等字符,则检索到的CSV字符串不具有正确的字符(ä最终显示为"方形"对我而言)
  • 相比之下,如果我的代码从剪贴板中检索Unicode文本格式,一切正常:ä保留在从剪贴板检索的字符串中

源代码 - 原始 - 与问题

[STAThread]
static void Main(string[] args)
{
    var fmt_csv = System.Windows.Forms.DataFormats.CommaSeparatedValue;

    // read the CSV
    var dataobject = System.Windows.Forms.Clipboard.GetDataObject();
    var stream = (System.IO.Stream)dataobject.GetData(fmt_csv);
    var enc = new System.Text.UTF8Encoding();
    var reader = new System.IO.StreamReader(stream,enc);
    string data_csv = reader.ReadToEnd();

    // read the unicode string
    string data_string = System.Windows.Forms.Clipboard.GetText();



}
Run Code Online (Sandbox Code Playgroud)

运行示例代码时的结果

  • Repro步骤:在Excel中输入一些文本(我使用"doppelgänger"加上一些数字),只需按Ctrl-C将其复制到剪贴板,然后运行上面的代码.
  • data_csv设置为"doppelg nger,1\r \n \n3,3\r \n\0"
  • data_string设置为"doppelgänger\ t1\r \n2\t3\r \n"

  • 我该怎么做才能得到正确的字符?

评论

  • 是的,我知道我可以通过使用Unicode文本解决此问题.但我实际上想了解CSV的情况
  • 在检索流时使用或不使用UTF-8编码对结果没有影响

答案

在查看评论并密切关注Excel在剪贴板上放置CSV之后,Excel可能会使用"遗留"编码而不是UTF-8来放置内容.所以我尝试使用Windows 1252代码页作为编码,它工作.请参阅下面的代码

来源代码 …

c# csv excel clipboard diacritics

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

ASP.NET无法缓存空值

任何人都可以解释为什么你不能将空对象插入ASP.NET缓存?

string exampleItem = null;

HttpRuntime.Cache.Insert("EXAMPLE_KEY", 
                        exampleItem, 
                        Nothing,                           
                        DateTime.Now.AddHours(1),
                        System.Web.Caching.Cache.NoSlidingExpiration);
Run Code Online (Sandbox Code Playgroud)

异常错误消息指出"value"对象不能为null.在我的应用程序中,有充分的理由说明为什么我们想要在缓存中存储空值.

c# asp.net caching

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

在ASP.Net MVC中保持干燥

我目前在我的第一个ASP.Net MVC应用程序大约两个半星期,到目前为止,我喜欢它.

这个当前项目是ASP.Net WebForms项目的一个端口,我正在努力保持功能.一切进展顺利.

但是,我发现自己在重复......我自己.

例如,在我的BaseController类中,在我的BaseViewPage中,在我的BaseViewUserControl中,在我的BaseViewMasterPage中,我有以下代码:

protected LanLordzApplicationManager AppManager
{
    get
    {
        if(Session["Application"] == null)
        {
            Session["Application"] = new LanLordzApplicationManager(Server.MapPath("~/"));
        }

        return (LanLordzApplicationManager)Session["Application"];
    }
}

protected User CurrentUser
{
    get
    {
        if (Session["UserID"] == null && this.Request.Cookies["AutoLogOnKey"] != null && !string.IsNullOrEmpty(this.Request.Cookies["AutoLogOnKey"].Value))
        {
            this.CurrentUser = this.AppManager.RecallUser(this.Request.Cookies["AutoLogOnKey"].Value, Request.UserHostAddress);
        }

        if (Session["UserID"] == null)
        {
            return null;
        }
        else
        {
            return this.AppManager.GetUserByUserID((long)Session["UserID"]);
        }
    }
    set
    {
        Session["UserID"] = value.UserID;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,这不是漂亮的代码.我想稍微解决一下,但截至目前,我正在四处修理它.事实上,它已成为一些错误的来源,这意味着再次将它固定在所有四个地方.

你怎么建议我保持这个系统DRY? 请注意,由于多种原因,这两个对象必须保留在会话中.

c# asp.net-mvc dry

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

Silverlight ComboBox和SelectedItem

我有以下场景:

1包含一年中的月份的列表:

public List<String> Months
{
    get
    {
        return m_Months;
    }
}


m_Months = new List<String>();

for (int i = 1; i <= 12; i++)
{
    DateTime date = new DateTime(1900, i, 1);
    m_Months.Add(date.ToString("MMM"));
}
Run Code Online (Sandbox Code Playgroud)

1 ComboBox,其ItemsSource绑定到Months列表,其SelectedIndex绑定到属性Month,这是一个字符串:

public string Month
        {
            get
            {
                return m_Month;
            }
            set
            {
                if (value != m_Month)
                {
                    m_Month = value;
                    NotifyPropertyChanged("Month");
                }
            }
        }

<ComboBox SelectedItem="{Binding Month, Mode=TwoWay}" ItemsSource="{Binding Months}" />
Run Code Online (Sandbox Code Playgroud)

当我从代码隐藏设置Year时,即Month ="May",这被正确地传播到ComboBox,并且访问了Month的getter,但是ComboBox没有显示'May'作为它的选择项.

我想知道:这是Silverlight 3中的一个错误吗?当我使用Telerik的RadComboBox时,它工作正常.

干杯,弗朗西斯

c# silverlight-3.0

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

如何在ASP.NET MVC中验证失败后保持输入类型=文件字段值?

我在我制作的MVC应用程序中有一个简单的表单.它包含一个文件字段,因此用户可以上传图像.这一切都很棒.

问题是,如果表单提交未通过验证,文件字段的内容将丢失(其他字段仍然填充,thx HtmlHelpers!).验证失败后如何保留文件字段?

TIA!

forms asp.net-mvc

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