2016-05-16 9 views
0

アンドロイドデバイスギャラリーからサーバーに画像をアップロードしようとしています。しかし、選択した画像拡張子はjpg/png/gifの形式ではありません。これは不明な名前で "image%3A55766"という名前で保存されています。誰かがこれを克服するのを手伝ってもらえますか?前もって感謝します。同じコードがiOSデバイスで正常に動作しています。私は今までこれを試しました。アンドロイドデバイスからサーバーに画像をアップロードするときにファイルの拡張子が間違っています

<script> 
 
function getPhoto(source) { 
 
    navigator.camera.getPicture(onPhotoURISuccess, onFail, { 
 
\t \t quality: 25, 
 
\t \t destinationType: Camera.DestinationType.FILE_URI, 
 
\t \t sourceType: Camera.PictureSourceType.SAVEDPHOTOALBUM 
 
\t }); 
 
} 
 

 
function onPhotoURISuccess(imageURI) { 
 
    \t var options = new FileUploadOptions(); 
 
\t options.fileKey="file"; 
 
\t options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1); 
 
\t options.mimeType="image/jpeg"; 
 
\t var params = new Object(); 
 
\t options.params = params; 
 
\t var ft = new FileTransfer(); \t \t 
 
\t ft.upload(imageURI, encodeURI("http://server.net/project/php/uploads.php"), win, fail, options); \t \t \t 
 
} 
 

 
function win(r) { 
 
\t console.log("Code = " + r.responseCode); 
 
\t console.log("Response = " + r.response); 
 
\t console.log("Sent = " + r.bytesSent); 
 
} \t \t 
 

 
function fail(error) { 
 
\t alert("An error has occurred: Code = " + error.code);  \t 
 
}  \t 
 
</script> 
 

 
document.getElementById('gal1').innerHTML='<a href="javascript:void(0)" onclick="getPhoto(pictureSource.SAVEDPHOTOALBUM)"><img src="../images/gallery.png"></a>'; 
 
\t \t \t

次は私のLogcatに取得していた情報です:

File locaton is: /storage/emulated/0/Pictures/Screenshots/Screenshot_2016-05-13-21-56-20.png 
 
upload content://com.android.providers.media.documents/document/image%3A55766 to http://server.net/project/php/uploads.php 
 
fileKey: file 
 
fileName: image%3A55766 
 
mimeType: image/jpeg 
 
params: {} 
 
trustEveryone: false 
 
chunkedMode: true 
 
headers: null 
 
objectId: 1 
 
httpMethod: POST 
 
Content Length: 259650

答えて

0

私は強く、この問題が原因になることができると信じていますimageURIをフェッチしています。これは、iOSではうまく機能するが、Androidではそうではないことが、この両方のOSでファイルシステムが異なって処理される理由です。我々は時々戻って同様の問題を解決することができます。問題はファイル名の設定にありました。このlinkをご覧ください。

希望します。

関連する問題