2017-05-12 4 views
0

以下のスニペットでファイルをアップロードする必要がありません。ng-modelは、角度js内のファイルの数を減らすためにヌルを返します

<button id="profileImage" ngf-select ng-model="imageFile" ngf-pattern="'image/*'" ngf-accept="'image/*'" ngf-change="clearImageErrorMsgs()">Change Photo</button> 

この「写真を変更」をクリックして、「$ scope.imageFile」を取得していない写真が少ないことを選択した後、nullです。 AngularJS v1.2.16でどのように解決できますか?

答えて

0

あなたはワイルドカード(アスタリスク*)にNGF-パターンを設定することで、拡張子のないファイルをアップロードすることができ

<button id="profileImage" ngf-select ng-model="imageFile" 
    ngf-pattern="'*'" ngf-accept="'image/*'" 
    ngf-change="clearImageErrorMsgs()">Change Photo</button> 

それはドットを期待するので、あなたが与えられたパターンは、(正規表現のテキストを失敗しました。 )。

編集 考えると同等のファイル「anon.jpg);ここで

は、私は、ファイルをアップロードするにはどこにもありませんので、400で失敗したが、もちろん提出、ユースケースを示しplnkrです

:」と "アノン" を選択 "anon.jpgアノン "ファイル"

$ngfName: "anon.jpg" 
size:9612 
type:"image/jpeg" 
__proto__: Blob 

として利回りscope.fileは、拡張子レスとの比較します"

lastModified:1453925356897 
lastModifiedDate:Wed Jan 27 2016 15:09:16 GMT-0500 (Eastern Standard Time) 
name:"anon" 
size:31002 
type:"" 
webkitRelativePath:"" 
__proto__: File 

__proto__プロパティの相違に注意してください。明らかにファイルのアップロードは、エクステンションレス(すなわち、タイプレス)ファイルの処理方法が異なります。

<span>{{file.$ngfName || file.name}}</span> 

私はupdated the plunkrこれを実証するためのを見て、:scope.fileはNG-モデルです

あなたが選択したファイル名を表示するには、あなたのHTMLにする必要があるのは、このようなものですコード。

デバッガを覗くことは時間を節約します。

満足できない場合は、問題at the github projectを提出する必要があります。

+0

こんにちは@ramblin、私の使用例では画像を選択してから画像を選択した後で、$ scope.imageFileがコントローラ内でnullになっています。 – sandy

+0

@Sandyは編集と更新plunkrを見て、それは状況を明らかにする必要があります。 – RamblinRose

-1

ngf-accept属性を省略しようとしましたか?

+1

質問は回答として提示されるのではなく、コメントセクションに記入する必要があります。 – RamblinRose

関連する問題