1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-01-21 04:52:26 -05:00
Hajime-san 2024-11-26 10:36:10 +09:00
parent 40c89cc30a
commit ad67750587
2 changed files with 24 additions and 8 deletions

View file

@ -262,20 +262,14 @@ function createImageBitmap(
} else if (mimeTypeString === "") {
return PromiseReject(
new DOMException(
`The MIME type of source image is not specified.
hint: When you want to get a "Blob" from "fetch", make sure to go through a file server that returns the appropriate content-type response header,
and specify the URL to the file server like "await(await fetch('http://localhost:8000/sample.png').blob()".
Alternatively, if you are reading a local file using 'Deno.readFile' etc.,
set the appropriate MIME type like "new Blob([await Deno.readFile('sample.png')], { type: 'image/png' })".\n`,
`The MIME type of source image is not specified.`,
"InvalidStateError",
),
);
} else {
return PromiseReject(
new DOMException(
`The the MIME type ${mimeTypeString} of source image is not a supported format.
info: The following MIME types are supported:
https://mimesniff.spec.whatwg.org/#image-type-pattern-matching-algorithm\n`,
`The MIME type ${mimeTypeString} of source image is not a supported format.`,
"InvalidStateError",
),
);

View file

@ -404,6 +404,28 @@ fn get_suggestions_for_terminal_errors(e: &JsError) -> Vec<FixSuggestion> {
]),
];
}
// See: ext/canvas/01_image.js
else if msg.contains("The MIME type of source image is not specified") {
return vec![
FixSuggestion::hint_multiline(&[
cstr!("When you want to get a <u>Blob</> from <u>fetch</>, make sure to go through a file server that returns the appropriate content-type response header,"),
cstr!("and specify the URL to the file server like <u>await(await fetch('http://localhost:8000/sample.png').blob()</>."),
cstr!("Alternatively, if you are reading a local file using <u>Deno.readFile</> etc.,"),
cstr!("set the appropriate MIME type like <u>new Blob([await Deno.readFile('sample.png')], { type: 'image/png' })</>.")
]),
];
}
// See: ext/canvas/01_image.js
else if msg.contains("The MIME type")
&& msg.contains("of source image is not a supported format")
{
return vec![
FixSuggestion::info(
"The following MIME types are supported."
),
FixSuggestion::docs("https://mimesniff.spec.whatwg.org/#image-type-pattern-matching-algorithm"),
];
}
}
vec![]