当我上传图像时,我有这种奇怪的行为,如果这个图像尺寸高于我的图像旋转90度.
检查这个使用ngImgCrop的小提琴,这是我上传的图片
ngDmgCrop的代码非常标准:
angular.module('app', ['ngImgCrop'])
.controller('Ctrl', function($scope) {
$scope.myImage='';
$scope.myCroppedImage='';
var handleFileSelect=function(evt) {
var file=evt.currentTarget.files[0];
var reader = new FileReader();
reader.onload = function (evt) {
$scope.$apply(function($scope){
$scope.myImage=evt.target.result;
});
};
reader.readAsDataURL(file);
};
angular.element(document.querySelector('#fileInput')).on('change',handleFileSelect);
});
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题呢?
我正在使用dotnet核心我想在网站上设置LinkedIn身份验证,因为LinkedIn没有默认身份验证构建器,因为facebook,google和twitter我决定使用如下通用实现:
services.AddAuthentication().AddOAuth("LinkedIn",
c =>
{
c.ClientId = Configuration["linkedin-app-id"];
c.ClientSecret = Configuration["linkedin-app-secret"];
c.Scope.Add("r_basicprofile");
c.Scope.Add("r_emailaddress");
c.CallbackPath = "/signin-linkedin";
c.AuthorizationEndpoint = "https://www.linkedin.com/oauth/v2/authorization";
c.TokenEndpoint = "https://www.linkedin.com/oauth/v2/accessToken";
c.UserInformationEndpoint = "https://api.linkedin.com/v1/people/~:(id,formatted-name,email-address,picture-url)";
})
Run Code Online (Sandbox Code Playgroud)
我有一个问题,因为GetExternalLoginInfoAsync()为null,查看Identity ASP.net核心源,是因为providerkey为null.
摘自asp.net核心代码:
var providerKey = auth.Principal.FindFirstValue(ClaimTypes.NameIdentifier);
var provider = items["LoginProvider"] as string;
if (providerKey == null || provider == null)
{
return null;
}
Run Code Online (Sandbox Code Playgroud)
问题是我在哪里可以将ClaimTypes.NameIdentifier添加到LinkedIn声明?
我正在对.net中的弹性搜索客户进行一项小型研究,我发现NEST是此问题最受支持的解决方案之一.
我正在查看Nest的文档,我找不到从查询中输出原始json并避免序列化为对象的方法,因为我在前端使用angularJs我不想重载过程通过一些不必要的步骤将信息发送给客户端.
......而且我想知道我怎样才能超越序列化过程?
我发现NEST使用Json.NET,我想为servicestack json serielizer更改.
谢谢!
我有一个名为Case的类,它包含一个executionSteps列表.每个executionStep都有一个名为enabled的布尔属性.我试图在HTML方面进行设置,但它从未在JS方面进行更新.HTML方面
<td>
<input type="checkbox"
ng-checked="acase.executionSteps[0].enabled"
ng-model="aa" ng-change="updateCaseExecutionStep('{{study.id}}','{{acase.id}}','{{acase.executionSteps[0].id}}','{{acase.executionSteps[0]}}')"/>
</td>`
Run Code Online (Sandbox Code Playgroud)
在控制器端,我有如下所示定义的函数updateCaseExecutionStep
$scope.updateCaseExecutionStep = function(studyId,caseId,executionStepId,executionStep){
...
...
}
Run Code Online (Sandbox Code Playgroud)
问题是当我更新我的复选框或甚至手动更新executionStep的enabled属性时
$scope.updateCaseExecutionStep = function(studyId,caseId,executionStepId,executionStep){
executionStep.enabled = true;
...
}
Run Code Online (Sandbox Code Playgroud)
我没有看到任何变化.在JS中传递的executionStep的enabled属性不会更改.请帮忙.
我是否必须在HTML方面以某种方式进行修改?
我想将我的登录表单中由Razor MVC帮助程序生成的RequestVerificationToken传递给我用来管理应用程序身份验证的AngularJS服务
我的表格如下:
<div ng-model="loginRequest" >
<form ng-submit="submit()" ng-controller="loginCtrl">
@Html.AntiForgeryToken()
<input id="username" ng-model="loginRequest.Username" type="text" name="text" />
<input id="password" ng-model="loginRequest.Password" type="text" name="text" />
<input type="submit" id="submit" value="Submit" />
<br/>
isValid: {{loginRequest.isValid}}
<br/>
username: {{loginRequest.Username}}
<br/>
Password: {{loginRequest.Password}}
</form>
</div>
Run Code Online (Sandbox Code Playgroud)
@ Html.AntiForgeryToken()以这种方式呈现:
<input name="__RequestVerificationToken" type="hidden" value="AVzyqDKHSPjaY7L_GTpkasMAABRQRVRFUkFMSUVOV0FSRVxQZWRybwA1">
Run Code Online (Sandbox Code Playgroud)
我的AngujarJs控制器成功注入了我的"loginService",我可以通过Post发送用户名和密码到服务
function loginCtrl($scope, loginService) {
$scope.submit = function () {
loginService.authenticate($scope.loginRequest,function(data) {
$scope.loginRequest.isValid = (data.User!=null);
//console.log(data);
});
};
}
Run Code Online (Sandbox Code Playgroud)
服务:
angular.module('App.services', ['ngResource']).
factory('loginService',
function ($resource) {
return $resource('/Api/User/login', '',
{
authenticate: {
method: 'POST',
isArray: false, …Run Code Online (Sandbox Code Playgroud) 我跟着这篇文章和另一篇文章,我试图复制维基上的内容,没有任何运气.
到目前为止,这就是我所做的文件夹结构:
stateProvider:
angular.module('app').config(function($stateProvider, $urlRouterProvider) {
$stateProvider.state("index",
{
url: "/index",
templateUrl:'/partial/index.html',
views: {
'footer@index': {
templateUrl: "/partial/header.html",
controller:"FooterCtrl"
},
'header@index': {
templateUrl: "/partial/header.html",
controller: "HeaderCtrl"
}
}
});
$urlRouterProvider.otherwise('/index');
Run Code Online (Sandbox Code Playgroud)
编辑:
这是标记:
<div>
<div id="content" class="container">
<div ui-view="header"></div>
<div ui-view></div>
<div ui-view="footer"></div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我正在浏览的网址是:localhost:9001 /#/ index
我没有任何错误只是一个空白页面
我想创建一个自动完成输入框,在用户键入时显示单词建议。
基本上,我的问题是,当我使用 $text 运算符在文档中搜索字符串时,查询将仅匹配完整的词干单词。出于同样的原因,如果文档字段包含单词 blueberry,则对术语 blue 的搜索将与该文档不匹配。但是,搜索 blueberry 或 blueberry 都会匹配。
find = {$text: { $search: 'blue' } };
Run Code Online (Sandbox Code Playgroud)
^(与文档中的 blueberry 或 bluebird 不匹配。)
我希望能够做到这一点。我想将 'blueberry' 或 'bluebird' 与 'blue' 匹配,最初我认为可以通过使用 'starts with' (^) 正则表达式来实现,但看起来 $text 和 $search 只接受字符串;不是正则表达式。
我想知道是否有一种方法可以做到这一点并且实施/维护不太复杂。到目前为止,我只看到人们试图通过创建一个新集合来实现此目的,并使用文本索引在集合中运行映射/归约的结果。
我不想使用 ElasticSearch 或 Solr,因为我认为这对于我想做的事情来说太过分了,虽然我有时认为最终我别无选择,但我仍然不敢相信没有更简单的方法来完成这。
我正在尝试使用uncss删除 css,但它会删除所有样式,无论它们是否列在ignore数组中。
我要比较的 2 个文件只是 index 和 app.min.js,其中包含嵌入在 javascript 中的所有模板作为字符串,这些模板是使用$templateCache配置的
看看 grunt 任务,也许我遗漏了一些明显的东西:
uncss:{
production: {
options: {
ignore: ['.someclass', '.someclass', '.someclass','.etc_etc_class'],
stylesheets:['app.min.css']
},
files: {
'dist/app.min.css':['dist/index.html','dist/app.min.js']
}
}
}
Run Code Online (Sandbox Code Playgroud)
任何评论都将受到欢迎!
我有这种奇怪的行为,就是在我第一次加载页面时才遇到错误,基本上是“ EBADCSRFTOKEN”,我一直在试图弄清楚为什么只有在第一次加载页面时才会发生这种情况,如果我点击刷新并获取一个新的令牌一切正常。
当我删除csurf cookie,单击刷新并获得新令牌时,会发生相同的情况,但是第一次总是失败,我不确定为什么期望的字符串和令牌都不匹配。
一小段代码(我正在使用MEANJS堆栈):
app.use(busboy());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json({limit: '50mb'}));
app.enable('jsonp callback');
var cp = cookieParser;
app.use(cp());
var mStore = new mongoStore({
db: db.connection.db,
collection: config.sessionCollection
});
app.use(session({
secret: config.sessionSecret,
store: mStore,
cookie: {httpOnly: false},
key:config.cookieKey,
}));
app.use(csrf());
//setting up a middleware
var middlewareFiles = [
'csrf-rule.server.js',
'secure-routes.server.js'
];
middlewareFiles.forEach(function(routeSecure){
require(path.resolve('./app/middleware/'+routeSecure))(app);
});
app.use(function(err, req, res, next) {
if (!err) return next();
if(err.code === 'EBADCSRFTOKEN'){
res.json(484, {data: 'invalid csrf token.'});
return;
}
// Error page …Run Code Online (Sandbox Code Playgroud) 我刚刚安装了Visual Studio Code,我正在尝试在IDE中运行我的MEANJS应用程序,VisualStudio创建了一个带有launch.json文件的./settings文件夹,其中包含运行项目的配置.
我通常使用MEANJS工作流程只是在应用程序的根文件夹中键入grunt,并调用gruntfile.js命令,该命令包含启动我的应用程序的所有作业.
我想通过按下按钮播放尝试在Visual Studio Code中实现相同的功能,并运行grunt任务,但我不知道从哪里开始.
{
"version": "0.1.0",
// List of configurations. Add new configurations or edit existing ones.
// ONLY "node" and "mono" are supported, change "type" to switch.
"configurations": [
{
// Name of configuration; appears in the launch configuration drop down menu.
"name": "Launch Project",
// Type of configuration. Possible values: "node", "mono".
"type": "node",
// Workspace relative or absolute path to the program.
"program": "gruntfile.js",
// …Run Code Online (Sandbox Code Playgroud)