使用ONSEN UI + Angular上传个人资料照片
Profile Photo Upload with ONSEN UI + Angular
我怎么能让一个非常简单的个人资料照片上传像什么的应用程序照片配置文件?我试图使用插件流,但没有成功。谢谢。
这是一个没有简单答案的大问题。这取决于你存储文件的位置和方式!
一般来说,您将创建一个表单来从用户计算机中选择图像,将其转换为适当的格式,然后将该数据传输到服务器。您的服务器将反转该过程并保存文件。
我认为你会遇到的最大障碍是AngularJS和许多后端框架处理文件的方式不同。
如果你正在使用Django(我推荐!!),这里有一个方法来处理它:AngularJS到Django REST框架图片上传
PS -如果你对创建web应用程序感兴趣,我正在写一篇关于如何使用AngularJS与Django和PostgreSQL来做的教程。我还在开发这个应用程序,但是关于PANDA Stack作为应用程序平台的基础知识以及如何设置堆栈都在那里。什么都不卖,没有捐赠按钮。
我也遇到了同样的问题。这是我的解决方案。HTML:
<div id="photoWrapper" ng-click="showFIle()" ng-class="myVar" >
<img accept="image/x-png, image/gif, image/jpeg" ng-src="{{imgSrc}}" id="photo"></img>
</div>
代码:module.controller('LoginController', function($scope,$route,$window) {
//localStorage.removeItem("photo"); *you can delete localstorage for debug.
var fileDialog;
$scope.imgSrc = ""
ons.createDialog('templates/loadPicDialog.html', {parentScope: $scope}).then(function(dialog) {
fileDialog = dialog;
});
var storedPhoto = localStorage.getItem("photo");
if(!storedPhoto){
setTimeout(function(){
fileDialog.show();
},500)
} else {
$scope.imgSrc = localStorage.getItem("photo");
}
$scope.showFIle = function(){
fileDialog.show();
}
$scope.myVar = "defaultPic";
$scope.savePicture = function(){
var reader = new FileReader();
reader.onload = (function(e) {
getImageData(e.target.result)
});
var imageFile = document.getElementById('imgFileName').files[0];
reader.readAsDataURL(imageFile);
}
function getImageData(url) {
var data ;
var canvas, ctx;
var img = new Image();
img.onload = function(){
// Create the canvas element.
canvas = document.createElement('canvas');
canvas.width = img.width;
canvas.height = img.height;
// Get '2d' context and draw the image.
ctx = canvas.getContext("2d");
ctx.drawImage(img, 0, 0);
// Get canvas data URL
try{
data = canvas.toDataURL();
$scope.imgSrc = data;
localStorage.setItem("photo", data);
fileDialog.hide();
$route.reload();
}catch(e){
console.log(e);
}
}
// Load image URL.
try{
img.src = url;
}catch(e){
console.log(e);
}
}});
和对话框:
<ons-dialog style="height:130px;" var="fileDialog">
<ons-page>
<ons-toolbar>
<div class="center">File Upload</div>
</ons-toolbar>
<input id="imgFileName" type="file"/>
<div style="text-align: center;
margin-top: 20px;">
<ons-button onclick="fileDialog.hide()">Cancel</ons-button>
<ons-button ng-click = "savePicture()">Save</ons-button>
</div>
</ons-page>
</ons-dialog>
相关文章:
- 使用Facebook登录时未填写个人资料
- 显示LinkedIn Api的个人资料数据,无需身份验证
- AngularJS+Firebase上传个人资料图片
- 护照个人资料 ID
- 显示脸书好友个人资料图片时出现问题
- 如何在ionic中弹出个人资料图片
- 如何查找任何给定Facebook用户的LinkedIn个人资料
- Javascript-使用Facebook登录,显示用户's成功登录后的个人资料图片
- Javascript-获取一张用户的随机个人资料图片'的朋友在脸书上
- 护照个人资料未通过新属性
- 推特小部件_bigger个人资料图片
- 如何使用JavaScript SDK更改Facebook个人资料图片并按时更改其背面
- 在 cordova 项目中,我正在使用文件传输插件上传个人资料照片,它总是返回代码 1 错误
- Facebook共享仅对我的个人资料JavaScript API可见
- 钛加载Facebook个人资料图片集成不起作用
- 使用Selinium,Scrapy,Python检索用户个人资料的公共Facebook墙帖子
- 获取使用帐户/个人资料照片OneDrive/Microsoft API
- 如何通过JavaScript SDK从Facebook获取封面照片和个人资料照片
- 使用ONSEN UI + Angular上传个人资料照片
- 在AngularJS中嵌入我个人资料中的Instagram近期照片