小编Eri*_* H.的帖子

autoIncrement如何在NodeJs的Sequelize中工作?

Sequelize的文件并没有详细说明autoIncrement.它只包括以下示例:

// autoIncrement can be used to create auto_incrementing integer columns
incrementMe: { type: Sequelize.INTEGER, autoIncrement: true }
Run Code Online (Sandbox Code Playgroud)

基于此示例,我有以下代码:

db.define('Entries', {
    id: {
        type: Seq.INTEGER,
        autoIncrement: true,
        primaryKey: true
    },
    title: {
        type: Seq.STRING,
        allowNull: false
    },
    entry: {
        type: Seq.TEXT,
        allowNull: false
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,当我想创建一个条目时,我想做这样的事情:

models.Entry.create({title:'first entry', entry:'yada yada yada'})
Run Code Online (Sandbox Code Playgroud)

但是,当我执行该代码时,我得到一个数据库错误:

列"id"中的空值违反非空约束

我会假设Sequelize会将整数放入我的身份或定义数据库表来自行完成.显然不是?我在这里缺少什么来确保id自动递增和填充?

非常感谢.

auto-increment node.js sequelize.js postgresql-9.1

33
推荐指数
3
解决办法
4万
查看次数

通过AJAX Post将文件输入发布为FileReader二进制数据

我试图通过rest API发布上传到HTML文件输入到网页的附件.API文档指出帖子是直接二进制内容作为HTTP请求的主体,而不是表单文件上载.

我的代码如下:

$('#_testButton').bind('click', function () {
    var file = document.getElementById('_testFile').files[0]
    var reader = new FileReader();
    reader.onload = function () {
        $.ajax({
            url: '/attachmentURL',
            type: 'POST',
            data: reader.result
        })
    }
    reader.readAsBinaryString(file)
})
Run Code Online (Sandbox Code Playgroud)

我需要这个来处理许多不同的mimeTypes,所以我没有在上面的代码中声明它.但是,我尝试为.doc文件声明contentType:'application/msword',并尝试使用processData:false和contentType:false.

数据将被发布到应有的位置.但是,当我打开文件时,我收到一条消息,上面写着mimeType:带有空文件的application/x-empty或带有一堆二进制字符的文件.我已经尝试过.doc文件和pdf文件,两者的结果是一样的.

有没有人知道我可以改变什么使这项工作?

ajax rest jquery filereader

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

通过HTML5文件和URL API正确创建和提供PDF Blob

好的,假设我将文档数据存储在某个地方,让我们任意选择这个pdf.

问题#1.我想要做的是对这个URL进行AJAX调用(因为我需要传递一些身份验证标头,它是跨域的).然后获取返回的数据,为它创建一个blob url,将一个iFrame附加到DOM,并将其src指向blob url.

目前我的代码如下所示:

$.ajax({
  url:'http://www.grida.no/climate/ipcc_tar/wg1/pdf/tar-01.pdf'
}).done(function(data){
   var file = new Blob([data], {type:'application/pdf'}),
       url = URL.createObjectURL(file),
       _iFrame = document.createElement('iframe');
      _iFrame.setAttribute('src', url);
      _iFrame.setAttribute('style', 'visibility:hidden;');
      $('#someDiv').append(_iFrame);
});
Run Code Online (Sandbox Code Playgroud)

不幸的是,我在iFrame中遇到了"无法渲染PDF"的问题.

问题#2.我希望这会导致文件下载提示.鉴于PDF自然只会在iFrame中显示,因此不确定如何保证这一点.

javascript html5 file blobs

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

编写Postgres获取或创建SQL查询

我想写一个Postgres SQL语句,说明寻找具有颜色X和亮度Y的用户.如果该用户存在,则返回其所有行数据.如果没有,请创建一个新行并传递其他信息.这两个单独的陈述会做这样的事情:

Select (color, brightness, size, age) FROM mytable WHERE color = 'X' AND brightness= 'Y';
Run Code Online (Sandbox Code Playgroud)

如果这不返回任何内容,则执行以下命令:

INSERT INTO mytable (color, brightness, size, age) VALUES (X, Y, big, old);
Run Code Online (Sandbox Code Playgroud)

有没有办法将这些组合成一个查询?

sql postgresql

12
推荐指数
4
解决办法
6039
查看次数

向现有Javascript对象添加方法的最佳方法

我收到一个类似于此的文档的ajax feed(非常简化):

aDocs = [{title:'new doc', ext:'pdf'}, {title:'another', ext:'xlsx'}];
Run Code Online (Sandbox Code Playgroud)

我将遍历aDocs数组并显示有关每个文档的信息,同时向每个文档添加一些方法,这些方法将允许修改HTML以进行显示并进行API调用以更新数据库.

在这里读到,为了向现有对象添加方法,您可以使用该__proto__属性.有点像:

function Doc(){}
Doc.prototype.getExt = function(){return this.ext}
Doc.prototype.getTitle = function(){return this.title}
for (var i=0; i<aDocs.length; i++){
  aDocs[i].__proto__ = Doc.prototype
}
Run Code Online (Sandbox Code Playgroud)

根据上面的那篇文章,这不是官方的javascript,IE不支持(永远不会),并且很可能在webkit浏览器中被弃用.

这是另一种选择:

function getExt(){ return this.ext }
function getTitle(){return this.title}
for (var i=0; i<aDocs.length; i++){
  aDocs[i].getExt = getExt;
  aDocs[i].getTitle = getTitle;
}
Run Code Online (Sandbox Code Playgroud)

这第二种选择是否可行且有效?或者我是否重新创建这些功能,从而产生多余的开销?

再次简化上面的例子(我知道aDocs[i].ext将解决上面的问题,但我的显示和API调用方法更复杂).

javascript prototype

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

Docker for Mac容器中缺少回车符

突然之间我的所有docker/docker-compose exec/run命令都是打印缺少回车的日志,因为缩进而无法读取命令行(见下图).

我将docker重新安装到出厂设置,但这并没有解决任何问题.

我还应该在哪里解决这类问题?

更新 这是docker-for-mac中的一个活动问题.

我刚刚更新到17.06.0-rc1-ce-mac13,那时我开始遇到问题.

另外,如果您投票结束,可以发表评论吗?

在此输入图像描述 在此输入图像描述

macos bash docker

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

使用NodeJ提供临时文件

我正在构建一个NodeJs SOAP客户端.最初,我想象服务器(即节点SOAP客户端)允许通过REST API下载文档(REST API经过身份验证).经过大量的时间在谷歌和SO上,看起来这是不可能的.

这意味着当请求文档下载时,我将不得不对文档进行SOAP调用,并通过AJAX将URL返回给REST客户端.

为了做到这一点,我需要:

  1. 在Node中临时创建一个文件
  2. 获取其URL并返回到Web客户端
  3. 请求文件并发送响应时,删除该文件(出于安全目的)

这是我的问题:

  1. 是否已有一个框架可以做到这一点?在温度模块可能是一种选择,但实际上我想每个请求后删除,而不是一个时间段之后.
  2. 如果没有,我可以使用NodeJs文件系统和Express 静态模块吗?基本上我们会修改静态模块,如下所示:

    return function static(req, res, next) {
      if ('GET' != req.method && 'HEAD' != req.method) return next();
      var path = parse(req).pathname;
      var pause = utils.pause(req);
    
    /* My Added Code Here */
    res.on('end', function(){
        //  delete file based on req URL
    })
    /* end additions */
    
    function resume() {
      next();
      pause.resume();
    }
    
    function directory() {
      if (!redirect) return resume();
      var pathname = url.parse(req.originalUrl).pathname;
      res.statusCode = 301; …
    Run Code Online (Sandbox Code Playgroud)

static node.js

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

为Github CI配置Jenkins w/2FA

我的Github帐户启用了两个因子授权(2fa).我想将Jenkins与我的一些私有存储库集成,但我无法授权它们因为我启用了2fa.请注意,这是一个多分支管道项目.

任何想法如何配置Jenkins连接私有repos而不创建没有启用2fa的虚拟帐户? 在此输入图像描述

github jenkins two-factor-authentication

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

使用window.location禁用UI-Router交互

这是一个很长的镜头,但UI路由器是如此受欢迎,以为可能有人在这里可以洞察这个问题.

我正在将项目迁移到Angular JS.该项目由一个包含多个不同面板的页面组成 - 每个面板都是从服务器下载的,带有AJAX的HTML,用Javascript注入到页面中,并与jQuery History管理的自己的href相关联.

jQuery历史跟踪浏览器状态并在每个面板注入Javascript后相应地更新window.href.例如:

Panel 1:
  window.location.href // http://myapp.com/panel1
  History.getLocationHref() // http://myapp.com/panel1
  History.getPageUrl() // http://myapp.com/panel1
Panel 2:
  window.location.href // http://myapp.com/panel2
  History.getLocationHref() // http://myapp.com/panel2
  History.getPageUrl() // http://myapp.com/panel2
Panel 3:
  window.location.href // http://myapp.com/panel3
  History.getLocationHref() // http://myapp.com/panel3
  History.getPageUrl() // http://myapp.com/panel3
Run Code Online (Sandbox Code Playgroud)

等等

因为每个面板都是注入的,而不是在注入DOM后用Angular编译它们,所以我为每个面板引导了单独的AngularJs应用程序.到目前为止,这已经很好了.

现在我在Panel 2中使用AngularJs UI-router - 所以我可以在替代模板中呈现数据.问题是,UI-Router必须以某种方式混淆浏览器历史记录和/或窗口href.因为一旦该应用程序被实例化,让我说我从Panel 1开始,然后单击Panel 2,然后单击Panel 3,我遇到了这个问题:

Panel 1:
  window.location.href // http://myapp.com/panel1
  History.getLocationHref() // http://myapp.com/panel1
  History.getPageUrl() // http://myapp.com/panel1
Panel 2:
  window.location.href // http://myapp.com/panel2
  History.getLocationHref() // http://myapp.com/panel2
  History.getPageUrl() // http://myapp.com/panel2
Panel 3:
  window.location.href // http://myapp.com/panel2
  History.getLocationHref() …
Run Code Online (Sandbox Code Playgroud)

javascript jquery window.location angularjs angular-ui-router

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

SUD的Python要求

我是SOAP和SUD的菜鸟.我需要在Windows 7机器上安装SUD,我有Python 3.2.

我还没有听说过有人在Python 3+中安装SUD.

我应该安装Python 2.7吗?或者我需要更早出发吗?

python suds windows-7

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

在heroku上编辑php.ini

我已经在 Heroku 上安装了 wordpress,并且有一个 2.5MB 的自定义主题需要上传。

我已经安装了wpro 插件以将我的上传直接发送到 s3,但是,我仍然收到错误。我想我仍然需要编辑 php.ini 文件,特别是这些行:

; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 2M
Run Code Online (Sandbox Code Playgroud)

我需要将其更改为 3M。

如何编辑 php.ini 文件?

php wordpress heroku

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

为Django ImageFields创建视图

我有以下带有ImageField的django模型:

class Pics(models.Model):
    def file_path(instance, filename):
        return '/'.join([instance.user.username, 'pics', filename])
    #...
    file = models.ImageField(upload_to=file_path)
Run Code Online (Sandbox Code Playgroud)

我知道我可以调用pic.file.url来获取图像的URL.但是,我想知道Django是否也实现了一些自动托管该图像的功能?

我目前的代码工作正常,但似乎多余:

#urls.py
    urlpatterns += patterns('views',
         url(r'media/(?P<name>\w{1,30})/pics/(?P<file>[^\\/:*?\"<>|]+)$', 'show_pic'),)
Run Code Online (Sandbox Code Playgroud)

那么我的观点是:

#app.views
import mimetypes
def show_pic(request, name, file):
     path = u'media/%s/graphics/%s' % (name, file)
     mime = mimetypes.guess_type(name)[0]
     image_data = open(path, 'rb').read()
     return HttpResponse(image_data, mimetype=mime)
Run Code Online (Sandbox Code Playgroud)

django image

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

getActivity()在ActionBar Fragment中返回null

getActivity()null如果之前被调用,片段内将返回fragment.onAttach(activity).

fragment.onActivityCreated(savedInstanceState)被称为fragment.onAttach(activity).有关片段生命周期的信息,请参阅developer.android.

我的片段中有一个尝试实例化数据库连接的方法.最初调用该方法时,它可以正常工作.

public void onActivityCreated(Bundle savedInstanceState){
   super.onActivityCreated(savedInstanceState);
    Log.d("MyTag", "Activity being created");
    if (savedInstanceState == null){
        listAdapter.setContext(getActivity());
        execSearch(0);
    } else { listAdapter.setContext(getActivity()); }
}

public void execSearch(Long searchId) {
    MySQLiteHelper dbHelper = new MySQLiteHelper(getActivity());
    SQLiteDatabase database = dbHelper.getReadableDatabase();
    ... 
}
Run Code Online (Sandbox Code Playgroud)

现在,当在列表视图中单击按钮后通过接口调用此相同方法时,getActivity()返回null(在片段中).

以下是ListAdapter中的按钮回调:

private final View.OnClickListener editSearchListener = new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Long search_id = (Long) v.getTag();
        ((MyInterface) context).searchCalled(search_id);
    }
};
Run Code Online (Sandbox Code Playgroud)

以及MainActivity中的接口实现:

@Override …
Run Code Online (Sandbox Code Playgroud)

android nullpointerexception fragmentpageradapter

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