1
對於上下文,我試圖創建一個「點擊圖像」文件上傳。最初有一個默認圖像,然後我點擊。我觸發文件上傳,用戶選擇他們想要的圖像文件。然後,我將設置圖像來替換默認值(以後再用它來做其他事情)。現在,前端看起來像這樣:從沒有服務器的文件輸入中檢索圖像數據
<div class="right-preview">
<input type="image" src="img/logo.png" height="240px" width="240px" ng-click="uploadImage('right-image')" id="upload-right-image"/>
<input type="file" id="upload-right" style="visibility: hidden">
</div>
當圖像被點擊時,它會觸發一個上傳動作。
$scope.uploadImage = function(side) {
$image = $('#upload-' + side);
$fileInput = $('#upload-right');
$fileInput.change(function(changeEvent) {
var files = changeEvent.target.files;
for(var i = 0; i < files.length; i++) {
file = files[i];
console.log(file);
}
});
$fileInput.trigger('click');
}
當用戶完成拾取文件後觸發更改事件時,我有changeEvent並且我知道他們已經選擇了他們的文件。每個文件都有一些屬性(如名稱和大小),但我沒有看到訪問原始數據的任何內容,所以我可以在我的其他元素上設置src。
我是否完全缺少如何獲取圖像數據,還是有更好的方法來做到這一點?我沒有服務器(現在)發佈到此。也許有更好的方法來解決這個問題?
什麼你正在嘗試做的沒有一個服務器端語言處理上傳是不可能的。您將需要一臺服務器來提供靜態文件。 –
看看[這個](http://stackoverflow.com/questions/18754943/preview-image-before-uploading-angularjs),也許你想要做什麼 – Vanojx1
這是可能的只是改變圖像'src',但可能這不是一個上傳。 –