现在大多数浏览器都支持IndexedDB将数据/文件直接存储为File,Blob或ArrayBuffer.
此代码将IDB密钥"File1"保存为文件
<input type="file" id="userfile" />
var a = document.getElementById("userfile");
var b = a.files[0];
Run Code Online (Sandbox Code Playgroud)
现在我们可以使用以下代码直接将此文件保存到IDB
//LocalForage is a library for indexedDB developed by Mozilla
//Note: localforage._config.driver=asyncStorage (IDB method)
function run(){
//"File1" = IDB data table key and b=value
localforage.setItem("File1", b, function(err, value) {
console.log(err)
});
}
a.onchange = function(){
run()
}
Run Code Online (Sandbox Code Playgroud)
此代码将IDB密钥"BlobFile"保存为Blob
mb = new Blob([b],{type:b.type});
function runB(){
localforage.setItem("BlobFile", mb, function(err, value){
console.log(err)
});
}
a.onchange = function(){
runB()
}
Run Code Online (Sandbox Code Playgroud)
我想知道将文件存储到IDB的最佳做法是什么.(文件/斑点/ ArrayBuffer) …
如何res.redirect('/')在Sails中发送flash消息?
当我检查控制器中的某些条件时,我想重定向到另一个URL,传递一条flash消息.
我是Sails的新手,所以任何帮助都将受到赞赏.
控制器动作:
module.exports ={
index: function (req, res) {
if(req.param('key')){
req.flash('message', 'welcome key is present');
res.redirect('/view/');
} else {
req.flash('message', 'welcome key is not present');
res.redirect('/');
}
}
}
Run Code Online (Sandbox Code Playgroud)
提前致谢.
我的Controller登录页面有以下内容:
// Authentication Controller
// the basics of Passport.js to work.
var AuthController = {
// localhost:1337/login Render the login page
// <form role="form" action="/auth/local" method="post">
// <input type="text" name="identifier" placeholder="Username or Email">
// <input type="password" name="password" placeholder="Password">
// <button type="submit">Sign in</button>
// </form>
login: function(req, res) {
var strategies = sails.config.passport,
providers = {};
// Get a list of available providers for use in templates.
Object.keys(strategies).forEach(function(key) {
if (key === 'local') return;
providers[key] = {
name: strategies[key].name, …Run Code Online (Sandbox Code Playgroud) 我使用sailsjs作为节点js的MVC,我还在学习它.我设法从我自己的数据库中获取数据并使用它.
但现在我需要/想要从外部休息api获取数据.我在我的控制器中使用了这个:
// api/controllers/SomeController.js
test : function(res,req){
var j;
var https = require('https');
var options = {
hostname: 'testing.atlassian.net',
port: 443,
path: '/rest/api/2/search?jql=project=ABC',
method: 'GET',
headers: {'Authorization': 'Basic ' + 'SuperSecretLoginAndPassword'}
};
var req = https.request(options, function(res) {
res.setEncoding('utf8');
res.on('data', function(d) {
});
});
req.end();
}
Run Code Online (Sandbox Code Playgroud)
变量d显示正确的结果.如何在我的视图中使用请求结果?我搜索了很多,但我无法找到任何方法在我的视图中显示这一点.
这会实时更新吗?因此,如果de rest api中的某些内容发生了变化,我就不必刷新了.
对不起,如果这是愚蠢的.
目前,我尝试建立了一个简单的授权系统(认证已经到位)帆基于政策体系帆提供(v0.10)应用程序.为此,我需要从我的策略中获取控制器和操作当前请求目标.
我会在政策中粗略地做以下事情:
module.exports = function (req, res, next) {
// Get target controller and action
var target = req.target; // How to do this?
var action = req.action; // and this?
// Lookup in database, let through if matches or render error
User.findOne...
};
Run Code Online (Sandbox Code Playgroud)
我记得目标信息在某些时候嵌入在请求对象中,但现在没有找到(commit 5d98ec8).
我知道有可能通过模仿sails路由器来解析req.route并获取所需的信息,但我宁愿避免为了策略的唯一目的而复制路由逻辑.
编辑:
可以从请求对象中检索控制器标识,如下所示:
var controller = req.options.controller || req.options.model;
Run Code Online (Sandbox Code Playgroud)
示例请求选项:
{ detectedVerb: { verb: '', original: '/user/:id?', path: '/user/:id?' },
associations:
[ { alias: 'auth', type: 'model', model: 'key' },
{ …Run Code Online (Sandbox Code Playgroud) 我在函数外部有一个变量,我需要更改该值。我通常使用“this”来访问变量,但在代码的那个点,“this”是不可访问的。
export class GamesDetailPage {
details : any = {};
type : String;
level : Number;
cards : any = {}; // THE VARIABLE I WANT TO SET THE VALUE
constructor(public navCtrl: NavController, public http: HttpClient , private device: Device, private serviceProvider: ServicesProvider,
public navParams: NavParams
) {
this.type = navParams.get('gameType');
this.level = navParams.get('gameLevel');
}
ionViewDidLoad() {
this.getCards(); // WHERE I CALL THE METHOD
}
getCards(){
var deviceUUID = this.device.uuid;
var platform = this.device.platform;
var cardsReq = {"gameType": this.type ,"gameLevel": …Run Code Online (Sandbox Code Playgroud) 我的一个朋友[].slice.call()用来填充匹配元素的数组.
我想知道这是如何工作的.我只知道Array.prototype.push要填充数组.
我也看到两种技术填充阵列都有所不同.
所以我的问题是:
Array.prototype.slice帮助填充阵列?Array.prototype.slice和Array.prototype.push做出对象和数组?var arr=[];
var arr=[].slice.call($('[id^=name]'));
//arr.push($('[id^=name]'))
console.log(arr)
Run Code Online (Sandbox Code Playgroud) javascript ×5
node.js ×4
sails.js ×4
arrays ×1
blob ×1
filereader ×1
html5 ×1
indexeddb ×1
mocha.js ×1
real-time ×1
rest ×1
typescript ×1
unit-testing ×1