小编fer*_*cs2的帖子

在上传之前使用HTML5调整图像大小

我发现了一些不同的帖子,甚至还有关于stackoverflow回答这个问题的问题.我基本上和这篇文章一样实现了同样的东西.

所以这是我的问题.当我上传照片时,我还需要提交表单的其余部分.这是我的HTML:

<form id="uploadImageForm" enctype="multipart/form-data">
  <input name="imagefile[]" type="file" id="takePictureField" accept="image/*" onchange="uploadPhotos(\'#{imageUploadUrl}\')" />
  <input id="name" value="#{name}" />
  ... a few more inputs ... 
</form>
Run Code Online (Sandbox Code Playgroud)

以前,我不需要调整图像大小,所以我的javascript看起来像这样:

window.uploadPhotos = function(url){
    var data = new FormData($("form[id*='uploadImageForm']")[0]);

    $.ajax({
        url: url,
        data: data,
        cache: false,
        contentType: false,
        processData: false,
        type: 'POST',
        success: function(data){
            ... handle error...
            }
        }
    });
};
Run Code Online (Sandbox Code Playgroud)

这一切都很有效...现在我需要调整图像的大小......如何替换表单中的图像以便调整已调整大小的图像而不是上传的图像?

window.uploadPhotos = function(url){

    var resizedImage;

    // Read in file
    var file = event.target.files[0];

    // Ensure it's an image
    if(file.type.match(/image.*/)) {
        console.log('An image has …
Run Code Online (Sandbox Code Playgroud)

javascript html5 canvas

84
推荐指数
4
解决办法
10万
查看次数

有子句与子查询

我可以用两种方式使用聚合函数编写查询:

select team, count(min) as min_count
from table
group by team
having count(min) > 500
Run Code Online (Sandbox Code Playgroud)

要么

select * 
from (
    select team, count(min) as min_count
    from table
    group by team
) as A
where A.min_count > 500
Run Code Online (Sandbox Code Playgroud)

这两种方法是否有任何性能优势,或者它们在功能上是否相同?

sql subquery having

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

实体框架代码优先:Configuration.cs种子或自定义初始化程序

我第一次使用实体框架的Code First风格.我想设置一些默认数据.我遇到的第一种方法涉及创建自定义初始化程序.我在这条路线上走了一段路,但是在设置迁移之后注意到它随附的Configuration.cs已经覆盖了种子方法,就像自定义初始化器一样.

internal sealed class Configuration : DbMigrationsConfiguration<Toolkit.Model.ToolkitContext>
{
    public Configuration()
    {
        AutomaticMigrationsEnabled = false;
    }

    protected override void Seed(Toolkit.Model.ToolkitContext context)
    {
        //  This method will be called after migrating to the latest version.

        //  You can use the DbSet<T>.AddOrUpdate() helper extension method 
        //  to avoid creating duplicate seed data. E.g.
        //
        //    context.People.AddOrUpdate(
        //      p => p.FullName,
        //      new Person { FullName = "Andrew Peters" },
        //      new Person { FullName = "Brice Lambson" },
        //      new …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework ef-code-first

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

"use strict"导致未定义的错误

我在JavaScript中定义了以下函数:

function _snr(id) {
    "use strict";
    this.e = "something";
}
Run Code Online (Sandbox Code Playgroud)

我通过JSLint运行我的代码,它建议我在函数中添加"use strict".

当我e现在做抛出和未定义的错误.从一些初步调查来看,似乎已经不再定义了this过去引用的内容_snr.

我读过"严格使用",并发现它用于防止不安全的做法.有人可以解释一下这是不安全的吗?什么是"use strict"实际上在做什么以及如何修复我的代码?

javascript jslint use-strict

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

将字符串转换为Hive中的时间戳

我的Hive表中有一个时间戳的以下字符串表示:

20130502081559999
Run Code Online (Sandbox Code Playgroud)

我需要将它转换为如下字符串:

2013-05-02 08:15:59
Run Code Online (Sandbox Code Playgroud)

我试过以下({code} >>> {result}):

from_unixtime(unix_timestamp('20130502081559999', 'yyyyMMddHHmmss')) >>> 2013-05-03 00:54:59
from_unixtime(unix_timestamp('20130502081559999', 'yyyyMMddHHmmssMS')) >>> 2013-09-02 08:15:59
from_unixtime(unix_timestamp('20130502081559999', 'yyyyMMddHHmmssMS')) >>> 2013-05-02 08:10:39
Run Code Online (Sandbox Code Playgroud)

转换为时间戳然后unixtime似乎很奇怪,这样做的正确方法是什么?

编辑 我明白了.

from_unixtime(unix_timestamp(substr('20130502081559999',1,14), 'yyyyMMddHHmmss')) >>> 2013-05-02 08:15:59
Run Code Online (Sandbox Code Playgroud)

要么

from_unixtime(unix_timestamp('20130502081559999', 'yyyyMMddHHmmssSSS')) >>> 2013-05-02 08:15:59
Run Code Online (Sandbox Code Playgroud)

还是......还有更好的方法吗?

hadoop hive hiveql

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

Vue.js使用计算属性来显示或隐藏组件的一部分

我试图根据下拉列表中的值显示/隐藏组件的一部分.在移动我的表单的这一部分之前,使用计算属性工作得很好.但是...我在我的组件中使用双向绑定,似乎我正在使用的属性的计算值更新太晚了.这是组件js

Vue.component('system', {

    template: '#system',

    props: ['name', 'count'],

    computed: {
        issummit: function() {
            return this.name === '5a37fda9f13db4987411afd8';
        }
        // audiovideo: function() {
        //     return this.system === params.id.easy3eeg || this.system === params.id.easy3psg || this.system === params.id.essentia;
        // }
    },

    data () {
        return { 
            systemname: this.name,
            systemcount: this.count,
            systemoptions: [
                { text: 'Select One', value: null },
                { text: 'Summit', value:'5a37fda9f13db4987411afd8'},
                { text: 'Essentia', value:'5a37fda1de9e84bb9c44a909'},
                { text: 'Alterna', value:'5a8caadc86dc269de9887b0f'},
                { text: 'Easy III PSG', value:'5a37fe27b1e43d5ca589aee3'},
                { text: 'Easy III EEG', value:'5a37fd9a08a387d4efcf9ddb'}, …
Run Code Online (Sandbox Code Playgroud)

javascript vue-component vuejs2

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

实体框架代码首先是多对多关系和继承

请原谅我,如果这个问题已在某个地方得到解答,我一直很难找到解决这个问题的方法.

我正在尝试在MVC4项目上设置EF Code First.我有一个继承自Person的用户和客户.然后我有一个Template对象,它与Customer有多对多的关系,与User有一对多的关系.以下是我设置的方法:

楷模

public class Person
{
    [Key]
    public int PersonID { get; set; }

    public string LastName { get; set; }
    public string FirstName { get; set; }

    public string FullName
    {
        get
        {
            return String.Format("{0} {1}", FirstName, LastName);
        }
    }

    public string Email { get; set; }

    public virtual List<Template> Templates { get; set; }
}

public class User : Person
{
    .... 
}

public class Customer : Person
{
    ....
}

public class Template
{ …
Run Code Online (Sandbox Code Playgroud)

ef-code-first asp.net-mvc-4 entity-framework-5

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

在VBA中初始化对象的正确方法是什么?

我有一个自定义对象,我通过循环添加到数组.问题是当我初始化这样的对象时:

Dim CallNum As New Lib_CallNum
Run Code Online (Sandbox Code Playgroud)

循环中添加的最后一个对象将覆盖循环期间添加的所有其他对象.所以我最终会得到一个充满了大量相同对象的数组.为了解决这个问题,我不得不改变初始化对象的方式:

Dim CallNum As Lib_CallNum
Set CallNum = New Lib_CallNum
Run Code Online (Sandbox Code Playgroud)

但我不确定为什么第一次初始化不起作用.那么两组代码有什么区别?

excel vba excel-vba

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

在Windows Phone 7中引用合并的资源字典失败

我目前正在使用MVVMLight框架构建WP7应用程序.我想在我的app.xaml中添加一个资源字典,但是当我这样做时失败了.这是app.xaml的片段

<Application.Resources>
    <!--Global View Model Locator-->
    <vm:ViewModelLocator x:Key="Locator"
                         d:IsDataSource="True" />
    <!--Merged Resource Dictionaries-->
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="View/StyleResourceDictionary.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>
Run Code Online (Sandbox Code Playgroud)

因为我正在使用具有密钥的ViewModelLocator,所以我收到一条错误警告我,无论是否使用密钥,我都无法混合资源.将密钥添加到我的资源字典后它看起来如下所示:

    <ResourceDictionary x:Key="resourceDictionary">
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="View/StyleResourceDictionary.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
Run Code Online (Sandbox Code Playgroud)

在资源字典中,我有一个带有"TitleTemplate"键的样式.在任何一种情况下,当我尝试从我的一个视图中引用资源字典时,它都会失败.我的观点中的示例代码如下:

<TextBlock Name="TB_ContactNameLabel" 
           Text="contact" 
           Style="{StaticResource TitleTemplate}"/>
Run Code Online (Sandbox Code Playgroud)

设计师立即给我错误"资源'TitleTemplate'无法解析".如果我引用资源字典的键(即:resourceDictionary),则不会抛出任何错误,但它显然没有做任何事情.最后,如果我将resourceDictionary直接添加到其资源中的页面,而不是app.xaml,一切正常.我不想将它添加到我计划使用的每个视图中.我在这里错过了什么吗?

xaml resourcedictionary windows-phone-7 mvvm-light

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

何时在C#中使用Value关键字

我在c#中使用自定义序列化程序,以便使用字典序列化/反序列化对象.但是在反序列化期间,字典对象未正确设置.看代码:

public DictionarySerializer<String, Point> jointDictionary
    {
        get { return _jointDictionary; }
        set { _jointDictionary = jointDictionary; }
    }
Run Code Online (Sandbox Code Playgroud)

返回的jointDictionary对象是空的,但是在调试器线程中我注意到了一个包含字典内容的"value"对象.将我的代码更改为以下修复了我的问题:

public DictionarySerializer<String, Point> jointDictionary
    {
        get { return _jointDictionary; }
        set { _jointDictionary = value; }
    }
Run Code Online (Sandbox Code Playgroud)

我已阅读有关"value"关键字的信息,并了解它是C#中的保留字,用于指定客户端尝试用于设置对象的值.所以我的问题是,为什么联合数据库引用不会像我第一次尝试那样工作?value关键字的正确用法是什么?

c#

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

Mockito 更改包装类的默认值

我正在尝试模拟具有 Integer 属性的 bean。我正在测试的方法检查该属性的初始值是否为空,如果是则设置它。根据mockito文档:

默认情况下,对于所有返回值的方法,mock 返回 null、空集合或适当的基元/基元包装器值(例如:0、false、... 对于 int/Integer、boolean/Boolean、...)

所以我的属性被mockito设置为0并且我的测试失败了。有没有办法覆盖这种默认行为?

编辑

杰夫鲍曼给出了一个很好的答案,我想听从他的建议......但我不确定如何做。这是我尝试测试的一些方法:

public class ViewBeanBuilder {

    @Inject
    private ViewBean viewBean;

    public void buildViewBean() {
        ....
        for (Model model : getModels()) {
            if (viewBean.getAmount() == null || model.getAmount() < viewBean.getAmount()) {
                    viewBean.setAmount(model.getAmount());
            }            

        }
        ....
    }

}
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果我不模拟,ViewBean那么我会得到一个空指针异常。然而,当我嘲笑它时,我遇到了已经讨论过的问题。我采取了错误的方法吗?还有其他方法可以做到这一点吗?

我的一个想法是在我的 viewBean 周围放置一个吸气剂:

public class ViewBeanBuilder {

    @Inject
    private ViewBean viewBean;

    public void buildViewBean() {
        ....
        for (Model model : getModels()) {
            if (getViewBean().getAmount() == null || model.getAmount() < getViewBean().getAmount()) { …
Run Code Online (Sandbox Code Playgroud)

java mockito

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