小编Dim*_*las的帖子

React Draft Wysiwyg:单击“添加”按钮时上传图像

在 React.js 应用程序上,我尝试使用https://jpuri.github.io/react-draft-wysiwyg/#/docs编辑器上传图像并将其嵌入到编辑器的内容中。

到目前为止,我设法用这段代码做到了这一点:

import React, { Component } from 'react';
import { Editor } from 'react-draft-wysiwyg';
import {convertFromRaw, convertToRaw, EditorState} from 'draft-js';    
import "../../node_modules/react-draft-wysiwyg/dist/react-draft-wysiwyg.css"
import "../../node_modules/draft-js-image-plugin/lib/plugin.css"



export default class CustomEditor extends Component {

  uploadCallback(file) {

    return new Promise(
      (resolve, reject) => {
        var reader=new FileReader();

        reader.onloadend = function() {
          Meteor.call('fileStorage.uploadFile',reader.result,file.name,file.type,(err,response)=>{
              console.log(response)
             if(err){
               reject(err)
             }

             resolve({ data: { link: response.data.url } });
          })
        }

        reader.readAsDataURL(file);
      }
    );
  }

  render() {

    const config={
      image: { uploadCallback: this.uploadCallback }
    } …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 reactjs

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

使用Interval的Knockout Ajax仅显示更改的数据

我有这个代码:

function MyViewModel()
{
  var myviewmodel=this;
  myviewmodel.ajaxData=ko.observableArray([]);


  myviewmodel.init=function()
  {
    updateInterval(function()
    {
      myviewmodel.getData();
    },6000);
  }

  myviewmodel.getData=function()
  {
    myviewmodel.ajaxData([])
    $.get('getData.php')
    .done(function(data)
    {
      if(data.status==='ok' && data.data)
      {
        $.map(data.data,function(f)
        {
          var last_item=new AjaxItem(f);
          myviewmodel.ajaxData.push(last_item);
        })
      }
    })
  }

  function AjaxItem(data)
  {
    var item=this;
    item.id=parseInt(data.id);
    item.name=ko.observable(data.name);
    item.surname=ko.observable(data.surname);
    item.viewed=ko.observable(true);

    setTimeout(function()
    {
       item.viewed(false);
    },600);
  }
}
var vm= new MyViewModel();
ko.applyBindings(vm)
vm.init();
Run Code Online (Sandbox Code Playgroud)

我在这个HTML中查看它

<!doctype html>
<html>
<head>
........
<script src="somejs.js"></script>

<style>
.green{
 background-color:green;
}
</style>
</head>
<body>
  <table>
    <tbody data-bind="foreach:ajaxData">
      <tr data-bind="css{'green:viewed'}">
       <td data-bind="text:name"></td><td data-bind="text:surname"></td>
      </tr>
    </tbody> …
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery knockout.js

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

Symfony 3 OneUp Flysystem 错误:没有扩展能够加载“oneup_flysystem”的配置

根据Flysystem 的配置,我在 config.yml 中进行了以下设置:

oneup_flysystem:
    adapters:
        acme.flysystem_adapter:
            awss3v3:
                client: acme.s3_client
                bucket: "%s3_bucket_name%"
                prefix: "symfotest_"
Run Code Online (Sandbox Code Playgroud)

我在 services.yml 上提供了以下设置:

acme.s3_client:
        class: Aws\S3\S3Client
        arguments:
            -
                version: 'latest' # or 'latest'
                region: "%s3_region%" # 'eu-central-1' for example
                credentials:
                    key: "%s3_key%"
                    secret: "%s3_secret%"
Run Code Online (Sandbox Code Playgroud)

最后我通过 SetEnv 设置了以下环境变量:

SetEnv SYMFONY_S3_BUCKET_NAME   symphotest
SetEnv SYMFONY_S3_REGION    eu_west_1
SetEnv SYMFONY_S3_KEY       akey 
SetEnv SYMFONY_S3_SECRET    asuperseccret 
Run Code Online (Sandbox Code Playgroud)

但我的 error.log 中出现以下错误:

[Wed Jul 06 21:11:56.424801 2016] [:error] [pid 21876] [client 127.0.0.1:60488] PHP 致命错误:未捕获的 Symfony\Component\DependencyInjection\Exception\InvalidArgumentException:没有扩展能够加载“oneup_flysystem”的配置(在 /home/pcmagas/Kwdikas/web/apps/symphotest/app/config/config.yml 中)。查找命名空间“oneup_flysystem”,在 /home/pcmagas/Kwdikas/web/apps/symphotest/vendor 中找到“framework”、“security”、“twig”、“monolog”、“swiftmailer”、“doctrine”、“sensio_framework_extra” /symfony/symfony/src/Symfony/Component/DependencyInjection/Loader/YamlFileLoader.php:368\n堆栈跟踪:\n#0 /home/pcmagas/Kwdikas/web/apps/symphotest/vendor/symfony/symfony/src/Symfony /Component/DependencyInjection/Loader/YamlFileLoader.php(338): Symfony\Component\DependencyInjection\Loader\YamlFileLoader->validate(Array, '/home/pcmagas/K...')\n#1 …

php symfony flysystem

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

Express.js 处理未处理的路由

我开发了一个 Rest API,我希望当路由不存在时发送自定义消息而不是 express.js 默认发送的 html 消息。正如我搜索的那样,我找不到办法做到这一点。

我试图做:

  app.all("*",function(req,res){
     res.status(404)
     res.header("Content Type","application/json")
     res.end(JSON.stringify({message:"Route not found"}))
  });
Run Code Online (Sandbox Code Playgroud)

但它与所有已经实现的方法相匹配。我只希望我的应用程序处理未加工的那个。

编辑 1

对于每个端点,我创建了一个具有以下内容的单独文件:例如。 myendpoint.js

module.exports=function(express){

   var endpoint="/endpoint"

   express.get(endpoint,function(req,res){
      res.end("Getting data other message")
   }).post(endpoint.function(req,res){
      res.end("Getting data other message")
   }).all(endpoint,function(req,res){
      res.status(501)
      res.end("You cannot "+res.method+" to "+endpoint)
   })
}
Run Code Online (Sandbox Code Playgroud)

我在主文件中使用了一个:

var endpoint=require('myendpoint.js')
var MyEndpointController=endpoint(app)
app.all("*",function(req,res){
   res.status(404)
   res.header("Content Type","application/json")
   res.end(JSON.stringify({message:"Route not found"}))
});
Run Code Online (Sandbox Code Playgroud)

javascript rest node.js express

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

当我将Mock Builder用于接口时,PhpUnit得到了正确的类

我有以下课程

namespace MyApp;

use MyApp\SomeInterface;

class MyClass
{
  public function __construct(SomeInterface $s)
  {
    //Some Logic here
  }

  //Another methods implemented There
}
Run Code Online (Sandbox Code Playgroud)

SomeInterface包含以下内容:

namespace MyApp

interface SomeInterface
{
  /**
  * @return SomeObject
  */
  public function someMethodToImpement();
}
Run Code Online (Sandbox Code Playgroud)

我想在我的phpunit测试类上创建一个模拟:

namespace Tests\MyApp;

use PHPUnit\Framework\TestCase;
use MyApp\MyClass;
use MyApp\SomeInterface;

class MyClassTest extends TestCase
{
   public function someTest()
   {

     $fakeClass=new class{
          public function myFunction($arg1,$arg2)
          {
            //Dummy logic to test if called
            return $arg1+$arg2;
          }
     };

     $mockInterface=$this->createMock(SomeInterface::class)
      ->method('someMethodToImpement')
      ->will($this->returnValue($fakeClass));

     $myActualObject=new MyClass($mockInterface);
   }
}
Run Code Online (Sandbox Code Playgroud)

但是一旦我运行它,我得到错误:

Tests …

php phpunit mocking

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

在 ms windows 中获取 userid 以进行 uid 和 gid 映射

我有以下内容Dockerfile

FROM php:7-cli-alpine3.9

ARG USERID=1000
ARG GROUPID=1000

RUN apk add --no-cache --update bash bash-completion bash-doc &&\
    addgroup -g ${GROUPID} developer &&\
    mkdir -p /home/developer/code &&\
    adduser -D -u ${USERID} -G developer -h /home/developer -s /bin/bash developer &&\
    chown developer:developer -R /home/developer/code &&\
    php -r "copy('https://getcomposer.org/installer', '/tmp/composer-setup.php');"&&\
    php -r "if (hash_file('sha384', '/tmp/composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" &&\
    php /tmp/composer-setup.php --install-dir=bin --filename=composer &&\
    php -r "unlink('composer-setup.php');" &&\
    chmod …
Run Code Online (Sandbox Code Playgroud)

windows uid docker docker-compose

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

Laravel Virgin:通过“artisantinker”获取所有配置

有时在测试过程中,我需要能够了解如何使用artisan tinker命令配置我的 laravel 应用程序。

问题是我不知道要输入什么才能做到这一点。在许多情况下,这对我很有用,因为我可以快速查看如何在不同的环境设置上配置数据库。

php laravel laravel-5

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

当我利用 laravel 的“RefreshDatabase”特征通过 phphunit 运行数据库迁移时,Laravel 指定一个迁移文件夹

我正在将我的应用程序从 Codeigniter 迁移到 Laravel,我们也正在进行迭代和单元测试。

该数据库由2个数据库组成:

  • old这是最初的 codeigniter 中使用的。
  • new这用于与 codeingiter 项目不相关的其他功能。

因此,我想制作一个用于old数据库的迁移脚本,但为了避免故障,我想为每个数据库的迁移脚本指定一个特定的文件夹。

因此我找到了这个工具: https: //github.com/Xethron/migrations-generator并通过此帮助输出:

Description:
  Generate a migration from an existing table structure.

Usage:
  migrate:generate [options] [--] [<tables>]

Arguments:
  tables                              A list of Tables you wish to Generate Migrations for separated by a comma: users,posts,comments

Options:
  -c, --connection[=CONNECTION]       The database connection to use. [default: "etable_api"]
  -t, --tables[=TABLES]               A list of Tables you wish to Generate Migrations for separated by a comma: users,posts,comments
  -i, --ignore[=IGNORE] …
Run Code Online (Sandbox Code Playgroud)

php phpunit codeigniter database-migration laravel

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

我是否需要“docker commit”才能将映像推送到 docker 映像注册表(例如 docker hub)?

通常根据文档为了构建 docker 镜像,我需要遵循以下步骤:

  1. Dockerfile为我的应用程序创建一个。

  2. 运行docker build . Dockerfile到哪里。是我的应用程序的上下文

  3. 使用docker run将我的图像运行到容器中。

  4. 将我的图像提交到容器中

  5. 然后使用docker push将图像推送到容器中。

尽管有时将图像启动到容器中似乎是浪费时间,因为我可以使用命令-t中的参数来标记我的图像docker build。因此无需将容器作为映像提交。

那么,是否需要将正在运行的容器作为镜像提交呢?

docker dockerfile

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

在 php:7.2-fpm-alpine 自定义 docker 镜像中安装 xmlreader 需要什么库?

对于这个 composer包,我需要将 xmlreader 放入我的自定义 docker php 映像中:

FROM php:7.2-fpm-alpine

RUN apk add --update libzip-dev libmcrypt-dev libpng-dev libjpeg-turbo-dev libxml2-dev icu-dev postgresql-dev curl-dev libmemcached-dev &&\
    apk add --update --virtual build-dependencies build-base gcc wget autoconf &&\   
    docker-php-ext-install gd && \
    docker-php-ext-install zip &&\
    docker-php-ext-install dom xml xmlwriter xmlreader &&\
    apk del build-dependencies &&\
    rm -rf /var/cache/apk/*
Run Code Online (Sandbox Code Playgroud)

但是当我构建它时,我收到以下错误:

/usr/src/php/ext/xmlreader/php_xmlreader.c:32:10: fatal error: ext/dom/dom_ce.h: No such file or directory
 #include "ext/dom/dom_ce.h"
          ^~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile:194: php_xmlreader.lo] Error 1
Removing intermediate container 0b3f031b2479 …
Run Code Online (Sandbox Code Playgroud)

php xml docker

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