我们正在通过我们的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
所以发布了PHP 5.4,但是解释器什么时候会出来用于eclipse PDT以支持PHP 5.4的新语法?
到目前为止,我在网上找到的只是一个旧的"错误报告":https://bugs.eclipse.org/bugs/show_bug.cgi?id = 366267.似乎我甚至无法在那里注册以发布有关其状态的问题.
有人正在努力吗?是否有公开版的开发版?在新的PHP版本推出后,他们通常需要多长时间才能发布新的解释器?
很久以前就宣布了PHP 5.4语法.为什么Eclipse中仍然不支持它(我不是在抱怨,只是想知道它挂在哪里)?
我需要通过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 …
我正在使用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) 我有以下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)
然而,这是一个错误.我究竟做错了什么?
我正在尝试将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) 我正在将一个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 ++
给定一个简单的对象树,其中包含其自身类型的值或需要转换的类型的值:
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) Doxygen使用graphviz为我的项目生成一个很好的类层次结构.但我现在想在该图表中添加手动注释.为此,我需要编辑DOT文件.然而,doxygen似乎没有在任何地方输出该文件.它只输出.map文件和.png图像.
如何让doxygen给我点文件?我检查了他们的文档,但找不到任何方法来实现它.当然doxygen必须在某个阶段生成点文件?
是否有任何最佳方法来调整大小并将文件保存到流星中的s3。
我虽然打算使用cfs软件包,但是它们给服务器带来了太多的负担。
要将图像直接上传到我正在使用的s3 slingshot,这很好。
但弹弓仅将文件对象作为输入,而无需流来存储文件。
是否有任何选项可以在客户端调整图像大小并将其传递给slingshot程序包
包:https : //github.com/CulturalMe/meteor-slingshot 问题:https : //github.com/CulturalMe/meteor-slingshot/issues/36
在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将会失败,这意味着它没有真正加载它。
有任何想法吗?
我试图确保人们输入的格式正好如下:
.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.但我的正则表达式不是那样的.我错过了什么?
我有一个带有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触发器会触发浏览器导航到相应的锚点.这会引发连锁反应,用户将立即在页面顶部结束.
现在解决这个问题的最简单方法是什么?
jquery window.location twitter-bootstrap html5-history scrollspy