diff --git a/server/camlistored/ui/blobinfo.js b/server/camlistored/ui/blobinfo.js index aa0b09924..ee8f80a2f 100644 --- a/server/camlistored/ui/blobinfo.js +++ b/server/camlistored/ui/blobinfo.js @@ -127,25 +127,25 @@ function(bmap) { if (binfo.camliType == "file") { // TODO(mpl): we can't get the thumnails url in a describe // response because the server only gives it for a permanode. - // That's why we do this messy business here. Fix it server side. - try { - finfo = JSON.parse(data); - bd.innerHTML = ""; - var fileName = finfo.fileName || blobref; - bd.firstChild.href = "./download/" + blobref + "/" + fileName; - if (binfo.file.mimeType.indexOf("image/") == 0) { - var thumbURL = ""; - goog.dom.getElement("thumbnail").innerHTML = thumbURL; - } else { - goog.dom.getElement("thumbnail").innerHTML = ""; - } - goog.dom.setTextContent(bd.firstChild, fileName); - bd.innerHTML = "download: " + bd.innerHTML; - } catch (x) { - // TOD(mpl): why? + // That's why we do this messy business here. Fix it server side. + finfo = JSON.parse(data); + bd.innerHTML = ""; + var fileName = finfo.fileName || blobref; + bd.firstChild.href = "./download/" + blobref + "/" + fileName; + // If the mime type was not detected by magic pkg, we end up + // with an empty mimetype value in the indexer's fileinfo, + // hence no mimeType in the returned JSON. + if (!!binfo.file.mimeType && + binfo.file.mimeType.indexOf("image/") == 0) { + var thumbURL = ""; + goog.dom.getElement("thumbnail").innerHTML = thumbURL; + } else { + goog.dom.getElement("thumbnail").innerHTML = ""; } + goog.dom.setTextContent(bd.firstChild, fileName); + bd.innerHTML = "download: " + bd.innerHTML; } }, this), alert