added error handling to file saving (don't know how to cause errors, so haven't been able to test properly)

This commit is contained in:
Javier Abadia 2014-01-14 16:44:55 +01:00
parent e0d173f55f
commit dad8ca5683

View File

@ -188,9 +188,25 @@ define([
if(evt=="end")
{
var blob = new Blob([ csv.join("\r\n") ], {type:"text/plain;charset=utf-8"});
FileSaver.saveAs(blob, fileName);
// fails in Safari (and iPad Safari?)
callback(true, "Saved " + (csv.length-1) + " tiles (" + Math.floor(blob.size / 1024 / 1024 * 100) / 100 + " Mb) into " + fileName);
var saver = FileSaver.saveAs(blob, fileName);
if( saver.readyState == saver.DONE )
{
if( saver.error )
return callback(false,"Error saving file " + fileName);
else
return callback(true, "Saved " + (csv.length-1) + " tiles (" + Math.floor(blob.size / 1024 / 1024 * 100) / 100 + " Mb) into " + fileName);
}
else
{
saver.onerror = function(evt) {
callback(false,"Error saving file " + fileName);
}
saver.onwriteend = function(evt)
{
callback(true, "Saved " + (csv.length-1) + " tiles (" + Math.floor(blob.size / 1024 / 1024 * 100) / 100 + " Mb) into " + fileName);
}
}
}
else
{
@ -212,6 +228,10 @@ define([
var csvContent = evt.target.result;
var tiles = csvContent.split("\r\n");
var tileCount = 0;
if(tiles[0] != "url,img")
return callback(false, "File " + file.name + " doesn't contain tiles that can be loaded");
for(var i=1; i<tiles.length; i++)
{
var pair = tiles[i].split(',');