fix: sony arw image upload

This commit is contained in:
Tristan Yang
2023-08-14 11:04:35 +08:00
parent 0996fbefb3
commit db55014995
3 changed files with 11 additions and 4 deletions
+2 -2
View File
@@ -3,7 +3,7 @@ import { Waveform } from "@uiball/loaders";
import { ChatContext } from "@/types/common";
import useUploadFile from "@/hooks/useUploadFile";
import { formatBytes, getFileIcon } from "@/utils";
import { formatBytes, getFileIcon, shouldPreviewImage } from "@/utils";
import DeleteIcon from "@/assets/icons/delete.svg";
import EditIcon from "@/assets/icons/edit.svg";
import { useMixedEditor } from "../../MixedInput";
@@ -58,7 +58,7 @@ export default function UploadFileList({ context, id }: { context: ChatContext;
key={url}
>
<div className="flex-center w-40 h-40">
{type.startsWith("image") ? (
{shouldPreviewImage(type) ? (
converting ? (
<Waveform size={18} lineWeight={3} speed={1} color="#aaa" />
) : (
+3 -1
View File
@@ -75,6 +75,7 @@ const useUploadFile = (props?: IProps) => {
content_type: file_type,
filename: name
});
console.log("prepareUploadFile", resp);
if ("error" in resp) {
// toast.error("Prepare Upload File Error");
return;
@@ -119,7 +120,8 @@ const useUploadFile = (props?: IProps) => {
}
}
// 出错 则返回
if (!uploadResult || "error" in uploadResult) {
if (!uploadResult || "error" in uploadResult || !uploadResult.data) {
console.error("upload file error uploadResult:", uploadResult);
return;
}
const { path, size, hash } = uploadResult.data as UploadFileResponse;
+6 -1
View File
@@ -29,7 +29,9 @@ export const getLocalAuthData = () => {
};
};
export const isImage = (file_type = "", size = 0) => {
return file_type.startsWith("image") && size <= FILE_IMAGE_SIZE;
return (
file_type.startsWith("image") && file_type !== "image/x-sony-arw" && size <= FILE_IMAGE_SIZE
);
};
export const isTreatAsImage = (file: File) => {
@@ -434,3 +436,6 @@ export const transformInviteLink = (link: string) => {
export const isInIframe = () => window.location !== window.parent.location;
export const encodeBase64 = (str = "") => btoa(unescape(encodeURIComponent(str)));
export const shouldPreviewImage = (type: string) => {
return type.startsWith("image") && type !== "image/x-sony-arw";
};