小编Pas*_*nes的帖子

使用API​​ PUT请求上传文件

我正在用PHP构建API.其中一种方法是place.new(PUT请求).它需要几个字符串字段,它还需要一个图像.但是我无法让它发挥作用.使用POST请求很简单,但我不知道如何使用PUT以及如何在服务器上获取数据.

谢谢您的帮助!

测试CURL代码

$curl = curl_init();
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_BINARYTRANSFER, 1);
curl_setopt($curl, CURLOPT_URL, $this->url);

curl_setopt($curl, CURLOPT_PUT, 1);
curl_setopt($curl, CURLOPT_INFILE, $image);
curl_setopt($curl, CURLOPT_INFILESIZE, filesize($image));

$this->result = curl_exec($curl);
curl_close($curl); 
Run Code Online (Sandbox Code Playgroud)

服务器代码

if ( $im_s = file_get_contents('php://input') )
{
    $image = imagecreatefromstring($im_s);

    if ( $image != '' )
    {
        $filename = sha1($title.rand(11111, 99999)).'.jpg';
        $photo_url = $temp_dir . $filename;
        imagejpeg($image, $photo_url);

        // upload image
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

发送

// Correct: /Users/john/Sites/....
// Incorrect: http://localhost/...
$image = fopen($file_on_dir_not_url, …
Run Code Online (Sandbox Code Playgroud)

php upload curl put request

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

Meteorjs - 在线用户

有没有办法获得所有当前连接用户的列表?我检查了许多聊天室教程,但没有一个提供这种方法.它是否可能,如果是这样,如何才能正确地实现Meteor方式呢?

meteor

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

PHP Jade模板解析器

我正在寻找NodeJS中使用的Jade模板引擎的PHP实现.我最近尝试过Jade.php,但它不完整,因为它不支持继承或部分.我也看过PHPNativeJadeRenderer,但它依赖于shell_exec通过npm jade模块解析模板文件,我对使用该方法并不是很满意.

有人知道Jade模板引擎的完整PHP OOP端口吗?

php template-engine pug

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

同步Meteor.methods函数内的MeteorJS异步代码

如何让客户端method.call等待异步函数完成?目前它到达函数的末尾并返回undefined.

Client.js

Meteor.call( 'openSession', sid, function( err, res ) {
    // Return undefined undefined
    console.log( err, res ); 
});
Run Code Online (Sandbox Code Playgroud)

Server.js

Meteor.methods({
    openSession: function( session_id ) {
        util.post('OpenSession', {session: session_id, reset: false }, function( err, res ){
            // return value here with callback?
            session_key = res;
        });
     }
});
Run Code Online (Sandbox Code Playgroud)

javascript meteor

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

创建新的电子表格(Google API/Python)

我已设法使用以下代码创建新的电子表格文档:

# Authorize
client = gdata.docs.client.DocsClient(source='TestDoc')
client.http_client.debug = False
client.client_login(self.cfg.get('google', 'email'), self.cfg.get('google', 'password'), source='TestDoc', service='writely')

# Create our doc
document = gdata.docs.data.Resource(type='spreadsheet', title='Test Report')
document = client.CreateResource(document)
Run Code Online (Sandbox Code Playgroud)

我的理解是,您必须使用电子表格服务进行身份验证才能操作电子表格.

# Connect to spreadsheet API
client = gdata.spreadsheet.service.SpreadsheetsService()
client.email = self.cfg.get('google', 'email')
client.password = self.cfg.get('google', 'password')
client.source = 'TestDoc'
client.ProgrammaticLogin()
Run Code Online (Sandbox Code Playgroud)

我的问题是如何从上面第一步中的创建中获取电子表格密钥,以便使用gdata.spreadsheet api访问该电子表格?

google-docs-api python-2.7

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

确定分钟直到午夜

您如何使用javascript确定当天午夜的分钟数?

javascript

6
推荐指数
3
解决办法
9441
查看次数

NodeJS - 单身+事件

如何在实现单例设计模式的模块上继承events.EventEmitter方法?

var EventEmitter = require('events').EventEmitter;

var Singleton = {};
util.inherits(Singleton, EventEmitter);

Singleton.createClient = function(options) {
    this.url = options.url || null;

    if(this.url === null) {
        this.emit('error', 'Invalid url');
    } else {
        this.emit('created', true);
    }
}

module.exports = Singleton;
Run Code Online (Sandbox Code Playgroud)

这会导致错误: TypeError: Object #<Object> has no method 'emit'

events singleton node.js

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

快速重定向不会更改req.url

我有一个成功登录时重定向的路由

app.post('/login', function(req, res){
  if(req.body.password === Server.cfg.auth.userPass) {
    req.session.user = {nick: req.body.username, pass: req.body.password}
    res.redirect('/chat')
  } else {
    res.render('user/login', { locals: { error: 'Invalid password' } })
  }
})
Run Code Online (Sandbox Code Playgroud)

重定向似乎工作,因为页面使用正确呈现的jade文件刷新.但是,url仍然说/ login和我的pageTitle变量(通过模板变量设置)也不会改变.如果我在重定向后刷新页面,一切都会改变它应该的样子.只有在重定向之后它才会改变.

node.js express pug

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

NodeJS、basE91 和小端

我如何使用 NodeJS 将下面的字符串从 basE91 解码为可读文本?

\n\n
8D7Hh-9D*.n-!DZrG-#DE-$DD-%DC-sl-tl-BEp2m-CE^Ul-DE}CH-EEE-FED-GEC-<l-=l-hE(.K-iEvqS-jEB-kEB-lEB-mEB-Rm-Sm-%E!{Q-&EDgN-(EG:K-)EE-*EE-+EB-xm-ym-GF{}U-HF()Q-IFt%D-JFE-KFB-LFD-[m-]m-mF;JG-nF7]Q-oF2-pFB-qFC-rFB-Wn-Xn-+FD-,FE-.FB- FE-:FD-;FC-2n-3n-\n
Run Code Online (Sandbox Code Playgroud)\n\n

* 编辑 *

\n\n

使用 basE91 表,我设法将上面的字符串转换为十六进制字符串

\n\n

十六进制字符串

\n\n
5668557210457684246110336890114713568693668683768671151081161086669112501096769948510868691567726969697069687169676010861108104694046751056911811383106696610769661086966109696682109810937693312381386968103784069715875416969426969436966120109121109717012312585727040418173701637687470697570667670689110993109109705974711107055938111170501127066113706711470668711088104370684470694670664770695870685970675011051110\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后我将其输入缓冲区

\n\n
var buf = new Buffer(hex, 'hex');\nconsole.log(buf.toString('utf8'));\n
Run Code Online (Sandbox Code Playgroud)\n\n

这给了我:

\n\n
VhUr\xe2\x96\xbaEv?$a\xe2\x96\xba3h?\xe2\x97\x84G\xe2\x80\xbcV??f??v?q\xc2\xa7\xe2\x96\xba?\xe2\x96\xac\xe2\x96\xba?f?\xe2\x86\x95P\xe2\x96\xba?v?Hhi\xe2\x86\x95Vw&???\xe2\x99\xa0??\xe2\x96\xac?va\xe2\x96\xba?\xe2\x99\xa6i@Fu\xe2\x96\xbaV?\xe2\x86\x91\xe2\x97\x8481\xe2\x99\xa0if\xe2\x96\xbav?if\xe2\x96\xba??h!    ?\xe2\x96\xba??1#?8ih\xe2\x96\xba7?\xe2\x99\xa0?\xc2\xa7?T\xe2\x96\xac??&??6?a \xe2\x96\xba?!\xe2\x96\xba?\xe2\x86\xa8\xe2\x98\xba#\xe2\x86\x95XW'\xe2\x99\xa6\xe2\x99\xa6\xe2\x86\x91\xe2\x86\xa87\xe2\x98\xba\xe2\x96\xac7htpiupfvph?\xe2\x96\xba?1 \xe2\x96\xba?\xe2\x99\xa3?G\xe2\x97\x84\xe2\x96\xbap    U??\xe2\x97\x84\xe2\x86\xa8\xe2\x99\xa3\xe2\x98\xba\xe2\x86\x95pf\xe2\x97\x847\xe2\x99\xa0q\xc2\xb6pf??\xe2\x96\xbaCphDpiFpfGpiXphYpgP\xe2\x97\x84\xe2\x99\xa3\xe2\x97\x84\xe2\x96\xba\n
Run Code Online (Sandbox Code Playgroud)\n\n

我如何将其转化为我可以使用的东西?我怀疑它是一个 JSON 对象......

\n

endianness node.js base91

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

Bootstrap响应9by16

我试图提供一个16x9的"绘图空间",但我希望用户能够选择纵向或横向.我已经在使用了class="embed-responsive embed-responsive-16by9".有没有一种简单的方法来使用CSS进行更改?

编辑

请记住,我将在这些容器中添加div.它们在16x9容器中的位置应该相对于它的方向,因为我希望保存用户的绘图空间以便重新创建它.

jquery css3 twitter-bootstrap-3

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

查找过去7天当天的最后一个文档

我每小时都会向模式添加条目,以便跟踪当天的增长情况,同时保持当前的当前分数.现在我希望能够提取过去一周每天的最新记录.结果将是6个记录,在午夜或午夜左右,前6天,第7个记录是当天的最新记录.

这是我的架构:

var schema = new Schema({
  aid: { type: Number }
, name: { type: String }
, score: { type: Number }
, createdAt: { type: Date, default: Date.now() }
})
Run Code Online (Sandbox Code Playgroud)

编辑

我已经尝试过使用这个静态,但它会将完全相同的记录拉7次

schema.statics.getLastWeek = function(name, fn) {
  var oneday = 60 * 60 * 24
    , now = Date.now()
    , docs = []

  for (var i = 1; i <= 7; i++) {
    this.where('name', new RegExp(name, 'i'))
    .where('createdAt')
    .gte(now - (i * oneday))
    .desc('createdAt')
    .findOne(function(err,doc){
      docs.push(doc)
    }) …
Run Code Online (Sandbox Code Playgroud)

javascript mongoose mongodb node.js

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

knockoutjs foreach别名不起作用

knockoutjs foreach别名不起作用,如下页中的knockoutjs文档中所述:

Note 3: Using “as” to give an alias to “foreach” items

这是一个简单的jsFiddle显示错误.控制台说虽然我已经按照knockoutjs示例,但是没有定义别名......

HTML

<h3>This works</h3>
<ul data-bind="foreach: people">
    <li>
        <span data-bind="text: $data.name"></span> 
        <span data-bind="text: $data.age"></span>
    </li>
</ul>

<h3>This doesn't work</h3>
<ul data-bind="foreach: { data: people, as: 'person' }">
    <li>
        <span data-bind="text: person.name"></span> 
        <span data-bind="text: person.age"></span>
    </li>
</ul>?
Run Code Online (Sandbox Code Playgroud)

JS

var data = [
    { name: 'Bob', age: 35 },
    { name: 'Sue', age: 24 },
    { name: 'Rick', age: 57 }
];

var model = …
Run Code Online (Sandbox Code Playgroud)

knockout-2.0

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