gpt4 book ai didi

android - 在 Angular 的 UI 中显示图像后将图像发送到服务器

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:07:09 25 4
gpt4 key购买 nike

我正在上传图片,或者从 Angular 应用程序中的摄像头获取图片:

<button type="button" onclick="userData.store()">send now</button><br>
<input type="file" label="add photo" accept="image/*;capture=camera">

然后(现在)用这个 Javascript 处理它:

var input = document.querySelector('input[type=file]');
var issuediv = document.getElementById('issue');

input.onchange = function () {
var file = input.files[0];
displayAsImage(file);
};

function displayAsImage(file) {
var imgURL = URL.createObjectURL(file),
img = document.createElement('img');
img.onload = function() {
URL.revokeObjectURL(imgURL);
};
img.src = imgURL;
issuediv.appendChild(img);
}

两个问题:

  1. 这不是 Angular 代码——处理图像并通过 JSON 为 (MySQL) 数据库准备图像的 Angular 方式是什么?
  2. 上面的代码在 Firefox 和 Chrome 中显示了图像 blob,但 iOS 和 Android 浏览器似乎没有附加 img 标签并且只显示了一个很小的缩略图。

最佳答案

你可以使用 Daniel Afarid's Angular File Upload

Controller

$scope.selectedFiles = [];
$scope.dataUrls = [];
$scope.model = 'test model';

$scope.onImageSelect = function($files) {

$scope.selectedFiles['image'] = $files[0];


var $file = $files[0];
if (window.FileReader && $file.type.indexOf('image') > -1) {
var fileReader = new FileReader();
fileReader.readAsDataURL($files[0]);

fileReader.onload = function(e) {
$timeout(function() {
$scope.dataUrls['image'] = e.target.result;
});
}
}

}

$scope.save_image = function(){

$upload.upload({
data:$scope.model,
url: 'the/url',
file: $scope.selectedFiles['image']

}).then(//success and error callbacks);


}

查看

<form enctype="multipart/form-data" class="form-horizontal">
<input type="file" ng-file-select="onImageSelect($files)">
<br />
<img ng-show="dataUrls['image']" ng-src="{{dataUrls['image']}}">
<button ng-click="save_image()"></button>
</form>

关于android - 在 Angular 的 UI 中显示图像后将图像发送到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21015328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com