小编d_i*_*ble的帖子

没有'Access-Control-Allow-Origin'标题,可恢复上传

我们正在通过我们的App Engine应用程序中的云存储JSON API生成可恢复的上传URL,这些应用程序可用于移动设备和Web应用程序.在Web应用程序中,使用XmlHttpRequest上传具有可恢复上传URL的文件,我们收到以下错误:

XMLHttpRequest无法加载https://www.googleapis.com/upload/storage/v1beta2/b/ ...请求的资源上没有"Access-Control-Allow-Origin"标头.因此,不允许来源" https://ourapp.appspot.com "访问.

在Chrome开发人员工具中,网络日志显示第一个OPTIONS请求,其中包含相应的"Origin"请求标头和"Access-Control-Allow-Origin"响应标头,但后面提到的PUT请求失败.

我们的桶上的cors xml看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
    <CorsConfig>
      <Cors>
        <Origins>
          <Origin>*</Origin>
        </Origins>
        <Methods>
          <Method>PUT</Method>
          <Method>GET</Method>
          <Method>POST</Method>
          <Method>HEAD</Method>
          <Method>DELETE</Method>
          <Method>OPTIONS</Method>
        </Methods>
        <ResponseHeaders>
          <ResponseHeader>*</ResponseHeader>
        </ResponseHeaders>
        <MaxAgeSec>1800</MaxAgeSec>
      </Cors>
    </CorsConfig>
Run Code Online (Sandbox Code Playgroud)

欢迎任何建议.

谢谢.

google-app-engine xmlhttprequest google-api google-cloud-storage

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

PHP 5.4 Eclipse PDT解释器

所以发布了PHP 5.4,但是解释器什么时候会出来用于eclipse PDT以支持PHP 5.4的新语法?

到目前为止,我在网上找到的只是一个旧的"错误报告":https://bugs.eclipse.org/bugs/show_bug.cgi?id = 366267.似乎我甚至无法在那里注册以发布有关其状态的问题.

有人正在努力吗?是否有公开版的开发版?在新的PHP版本推出后,他们通常需要多长时间才能发布新的解释器?

很久以前就宣布了PHP 5.4语法.为什么Eclipse中仍然不支持它(我不是在抱怨,只是想知道它挂在哪里)?

php eclipse-pdt

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

如何通过ajax加载样式表并在加载完成后进行回调

我需要通过ajax加载一堆CSS文件,并在样式表加载完成后调用动画,否则动画将失败.

在我做这个跨领域之前,我已经这样做并且过去工作得很好是这样的:

$.get(resource.url, {cache:true}, function(css) {
    //Now that the stylesheet is in the browser cache, it will load instantly:  

    $("head").append($("<link>",{
       rel: "stylesheet",
       type: "text/css",
       href: resource.url
    }));

}).then(function(){
   //Animation here that depends on the loaded css
});
Run Code Online (Sandbox Code Playgroud)

只要resource.url在同一个域上,这种方法就可以正常工作.一旦我尝试从另一个域加载CSS $.get将失败,如下所示:

XMLHttpRequest cannot load https://example.com/style.css. Origin https://example.com is not allowed by Access-Control-Allow-Origin.
Run Code Online (Sandbox Code Playgroud)

所以我试图通过以下方式将CORS添加到标题中.htaccess:

<IfModule mod_headers.c>
    #cross domain access is okay for resources (#107)
    <FilesMatch "\.(css|js)$"> 
        Header add Access-Control-Allow-Origin "*"
    </FilesMatch>
</IfModule>
Run Code Online (Sandbox Code Playgroud)

这会将CORS标头添加到所有CSS和JS资源中.

出于某种原因,CORS似乎对chrome或firefox(最新版本)没有影响.

我也注意到在执行$.getScript …

javascript css ajax jquery cors

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

Meteor autoform,钩前异步回调

我正在使用Autoform和Slingshot进行S3交互.当用户提交表单时,我想拦截进程,通过Slingshot将文件上传到S3,doc使用返回的对象扩展对象,downloadUrl然后返回新的更新文档,并继续自动化过程

我有以下代码:

{{#autoForm collection="Tabs" id="newTabForm" type="method" meteormethod="createTab"}}

   ...
    <div class="modal-body">
      <fieldset>
         {{> afFormGroup name='downloadUrl' type='file' class='file-bag'}}
    ...

AutoForm.hooks({
  newTabForm: {
    before: {
      insert: function(doc, template) {
        console.log(doc);
        var file     = $('.file-bag')[0].files[0];

        var self = this;
        uploader.send(file, function(error, downloadUrl) {
          if (error) { throw new Meteor.Error(error); }

          doc = _.extend(doc, { downloadUrl: downloadUrl });
          self.result(doc);
        });
      }
    },
 ....

Meteor.methods({
createTab: function(doc) {
  check(doc, TabSchema);

  var priceInCents = doc.price * 100;
  var extraTabAttributes = {
    userId: Meteor.userId(), …
Run Code Online (Sandbox Code Playgroud)

meteor meteor-slingshot

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

检查php数组中是否存在值 - 不工作?

我有以下PHP代码从mysql数据库获取序列化数组,然后反序列化它.这工作正常.以下代码:

$row=mysql_fetch_array($result);
$mydata=$row[0];
$unser=unserialize($mydata);

echo "$mydata<br>";
print_r($unser);
echo "<br>";
echo $unser[1901];
Run Code Online (Sandbox Code Playgroud)

输出是这样的:

a:2:{i:2070;s:4:"0.00";i:1901;s:4:"1.00";}
Array ( [2070] => 0.00 [1901] => 1.00 ) 
1.00
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.现在,我正在尝试编写代码,以便检查数组密钥1901是否存在.为此,我尝试了这个:

$search_array = $unser;
if (array_key_exists('1901', $search_array)) {
     echo "The key 1901 is in the array";
}
Run Code Online (Sandbox Code Playgroud)

然而,这是一个错误.我究竟做错了什么?

php mysql arrays

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

在heroku上的node.js应用程序中使用Magick ++

我正在尝试将Node应用程序推送到heroku,但我使用的是imagemagick-native,看起来Heroku遇到了Magick ++的问题 - 我尝试过使用自定义构建包但似乎找不到支持Magick ++的版本.(1)这是问题吗(2)有没有解决方案在Heorku上运行Magick ++?

-----> Node.js app detected
-----> Resolving engine versions
       Using Node.js version: 0.10.20
       Using npm version: 1.3.11
-----> Fetching Node.js binaries
-----> Vendoring node into slug
-----> Installing dependencies with npm
       npm WARN package.json upload@0.1.3 'repositories' (plural) Not supported.
       npm WARN package.json Please pick one as the 'repository' field

       > bson@0.2.2 install /tmp/build_d2a98573-34b8-42d9-91ff-81c4ca84feb9/node_modules/mongoose/node_modules/mongodb/node_modules/bson
       > (node-gyp rebuild 2> builderror.log) || (exit 0)

       make: Entering directory `/tmp/build_d2a98573-34b8-42d9-91ff-81c4ca84feb9/node_modules/mongoose/node_modules/mongodb/node_modules/bson/build'
         CXX(target) Release/obj.target/bson/ext/bson.o
         SOLINK_MODULE(target) Release/obj.target/bson.node
         SOLINK_MODULE(target) Release/obj.target/bson.node: Finished
         COPY …
Run Code Online (Sandbox Code Playgroud)

imagemagick heroku npm node-gyp magick++

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

添加节点gyp的包含目录

我正在将一个node-js应用程序部署到需要npm软件包imagemagic-native的 heroku 。

我安装了buildpack,libmagick++-dev并导出了包含路径:

export INCLUDE_PATH="$BUILD_DIR/.apt/usr/include:$INCLUDE_PATH"
export CPATH="$INCLUDE_PATH"
export CPPPATH="$INCLUDE_PATH"
Run Code Online (Sandbox Code Playgroud)

使用安装imagemagic-native软件包后npm install,将调用node-gyp编译其二进制文件。但是我得到这个错误:

remote:        > imagemagick-native@1.7.0 install /tmp/build_720834c3a32b65d69ae603d7c618e20f/node_modules/imagemagick-native
remote:        > node-gyp rebuild
remote:        
remote:        make: Entering directory `/tmp/build_720834c3a32b65d69ae603d7c618e20f/node_modules/imagemagick-native/build'
remote:          CXX(target) Release/obj.target/imagemagick/src/imagemagick.o
remote:        In file included from ../src/imagemagick.cc:9:
remote:        ../src/imagemagick.h:1:22: warning: Magick++.h: No such file or directory
Run Code Online (Sandbox Code Playgroud)

这表明gcc看不到的头文件libmagick++,因为$CCPATH它不可用。

如何npm install将路径添加到该include_dirs节点gyp使用的列表?

关于我的用例的更多详细信息在这里:在heroku的node.js应用程序中使用Magick ++

gcc node.js gyp npm node-gyp

4
推荐指数
2
解决办法
5759
查看次数

在打字稿中递归地转换对象树的所有叶子

给定一个简单的对象树,其中包含其自身类型的值或需要转换的类型的值:

interface Tree<Leaf> {
  [key: string]: Tree<Leaf> | Leaf;
}
Run Code Online (Sandbox Code Playgroud)

我想定义一个函数,将所有叶子递归地转换为另一种类型,如下所示:

function transformTree<S, T>(
  obj: Tree<S>,
  transform: (value: S) => T,
  isLeaf: (value: S | Tree<S>) => boolean
): Tree<T> {
  return Object.assign(
    {},
    ...Object.entries(obj).map(([key, value]) => ({
      [key]: isLeaf(value)
        ? transform(value as S)
        : transformTree(value as Tree<S>, transform, isLeaf),
    }))
  );
}
Run Code Online (Sandbox Code Playgroud)

如何维护源树和转换树之间叶子的类型?

测试以上不起作用:

class Wrapper<T> {
  constructor(public value: T) {}
}

function transform<T>(wrapped: Wrapper<T>): T {
  return wrapped.value;
}

function unwrap<T>(wrapped: Tree<Wrapper<T>>): Tree<T> {
  return transformTree<Wrapper<T>, T>(
    wrapped, …
Run Code Online (Sandbox Code Playgroud)

tree typescript

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

从doxygen获取类层次结构点文件

Doxygen使用graphviz为我的项目生成一个很好的类层次结构.但我现在想在该图表中添加手动注释.为此,我需要编辑DOT文件.然而,doxygen似乎没有在任何地方输出该文件.它只输出.map文件和.png图像.

如何让doxygen给我点文件?我检查了他们的文档,但找不到任何方法来实现它.当然doxygen必须在某个阶段生成点文件?

doxygen dot graphviz

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

调整大小并将文件保存到流星中的s3

是否有任何最佳方法来调整大小并将文件保存到流星中的s3。

我虽然打算使用cfs软件包,但是它们给服务器带来了太多的负担。

要将图像直接上传到我正在使用的s3 slingshot,这很好。

但弹弓仅将文件对象作为输入,而无需流来存储文件。

是否有任何选项可以在客户端调整图像大小并将其传递给slingshot程序包

包:https : //github.com/CulturalMe/meteor-slingshot 问题:https : //github.com/CulturalMe/meteor-slingshot/issues/36

amazon-s3 meteor meteor-slingshot

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

如何将dll合并为一个dll

在Visual Studio 2012中使用c#,我创建了一个类库FileTube.dll,它使用了3个其他dll。我想制作一个包含这些文件的dll,因此可以通过nuget发布我的库。我尝试了3种方法都失败了:

方法1:在vistual Studio中,将“嵌入互操作程序集”设置为true,我得到此错误:

Error   2   Cannot embed interop types from assembly 'DiffieHellman.dll' because it is missing the 'GuidAttribute' attribute    DiffieHellman.dll
Run Code Online (Sandbox Code Playgroud)

方法2:我使用了ILMergeGUI。它生成了用于ILMerge的代码,该代码失败并显示以下错误:对象引用未设置为对象的实例。这是命令:

"C:\Program Files (x86)\Microsoft\ILMerge\ILMerge.exe"
/ndebug
/copyattrs
/targetplatform:4.0,"C:\Windows\Microsoft.NET\Framework64\v4.0.30319"
/out:"C:\temp\z.dll"
"C:\\FileTube\TestApp\bin\Debug\FileTube.dll"
"C:\\FileTube\TestApp\bin\Debug\DiffieHellman.dll"
"C:\\FileTube\TestApp\bin\Debug\Org.Mentalis.Security.dll"
"C:\\FileTube\TestApp\bin\Debug\Tamir.SharpSSH.dll"
Run Code Online (Sandbox Code Playgroud)

方法3: 我按照本教程操作 ,使用反射来包含dll程序集。不同之处在于本教程具有一个主要的可执行文件,并且在我尝试将dll包含在我的dll中的同时,在可执行文件中包含dll。所以我将反射代码添加到主dll的类构造函数中。它可以编译,但是如果我重命名该外部dll将会失败,这意味着它没有真正加载它。

有任何想法吗?

c# dll

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

正则表达式不适用于JavaScript

我试图确保人们输入的格式正好如下:

.match(/\d{1,2}:\d\d\s((AM)|(PM))/)
Run Code Online (Sandbox Code Playgroud)

意味着用户可以写:

12:30 AM
2:30 PM
Run Code Online (Sandbox Code Playgroud)

但不是 :

1:2 A
1:30
PM
Run Code Online (Sandbox Code Playgroud)

它需要是前两位数,后跟一个冒号,而不是两个数字,一个空格,以及AM或PM.但我的正则表达式不是那样的.我错过了什么?

javascript regex

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

使用scrollspy更新地址栏window.location哈希

我有一个带有scrollspy的菜单(使用twitter boostrap).我希望window.location.hash在用户向下滚动到下一部分时更新.

用户向下滚动时,以下代码有效:

$(window).on('activate.bs.scrollspy', function (e) {
  location.hash = $("a[href^='#']", e.target).attr("href") || location.hash;
});
Run Code Online (Sandbox Code Playgroud)

但是,当用户向上滚动时,它不能很好地工作.

这样做的原因是设置新location.hash触发器会触发浏览器导航到相应的锚点.这会引发连锁反应,用户将立即在页面顶部结束.

js-fiddle中的演示

现在解决这个问题的最简单方法是什么?

jquery window.location twitter-bootstrap html5-history scrollspy

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