Skip to content
This repository has been archived by the owner on Oct 7, 2024. It is now read-only.

Commit

Permalink
Merge pull request #38 from NfoAlex/FixIconCannotUpload
Browse files Browse the repository at this point in the history
Fix icon cannot upload
  • Loading branch information
NfoAlex authored Jul 4, 2023
2 parents d129603 + 0a41e66 commit 3c36a88
Showing 1 changed file with 32 additions and 43 deletions.
75 changes: 32 additions & 43 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ const msg = require("./Message.js"); //メッセージの処理関連
const auth = require("./auth.js"); //認証関連
const infoUpdate = require("./infoUpdate.js");

const fs = require('fs');
const fs = require("fs");
const fsPromise = require("fs").promises;
const express = require("express");
const http = require("http");
const socketIo = require("socket.io");
Expand Down Expand Up @@ -513,7 +514,7 @@ io.on("connection", (socket) => {
});

//プロフィールアイコンの更新
socket.on("changeProfileIcon", (dat) => {
socket.on("changeProfileIcon", async (dat) => {
/*
dat
{
Expand All @@ -534,7 +535,7 @@ io.on("connection", (socket) => {
"fileData"
];

//データ型を調べる
//データの整合性を調べる
if ( !checkDataIntegrality(dat, paramRequire, "changeProfileIcon") ) return;

//もしJPEGかGIFじゃないなら、またファイルサイズ制限に引っかかったら拒否
Expand All @@ -547,46 +548,31 @@ io.on("connection", (socket) => {

}

//もしJPEGが先に存在しているなら削除しておく
fs.access("./img/"+dat.reqSender.userid+".jpeg", (err) => {
if ( !err ) {
fs.unlink("./img/"+dat.reqSender.userid+".jpeg", (err) => {
if ( err ) console.log(err);
console.log("file action taken with JPEG");

});

}

});

//もしGIFが先に存在しているなら削除しておく
fs.access("./img/"+dat.reqSender.userid+".gif", (err) => {
if ( !err ) {
fs.unlink("./img/"+dat.reqSender.userid+".gif", (err) => {
if ( err ) console.log(err);
console.log("file action taken with GIF");

});

}

});

//もしPNGが先に存在しているなら削除しておく
fs.access("./img/"+dat.reqSender.userid+".png", (err) => {
if ( !err ) {
fs.unlink("./img/"+dat.reqSender.userid+".png", (err) => {
if ( err ) console.log(err);
console.log("file action taken with PNG");

});
// もしJPEGが先に存在しているなら削除しておく
try {
await fsPromise.unlink("./img/" + dat.reqSender.userid + ".jpeg");
console.log("file action taken with JPEG");
} catch (err) {
console.log("index :: changeProfileIcon : JPEGナシ");
}

}
// もしGIFが先に存在しているなら削除しておく
try {
await fsPromise.unlink("./img/" + dat.reqSender.userid + ".gif");
console.log("file action taken with GIF");
} catch (err) {
console.log("index :: changeProfileIcon : GIFナシ");
}

});
// もしPNGが先に存在しているなら削除しておく
try {
await fsPromise.unlink("./img/" + dat.reqSender.userid + ".png");
console.log("index :: changeProfileIcon : PNGアイコンを削除しました");
} catch (err) {
console.log("index :: changeProfileIcon : PNGナシ");
}

let iconExtension;
let iconExtension = "";
//拡張子を判別して設定
if ( dat.fileData.type === "image/jpeg" ) {
iconExtension = ".jpeg";
Expand All @@ -600,10 +586,13 @@ io.on("connection", (socket) => {
}

//アイコン画像書き込み
fs.writeFile("./img/"+dat.reqSender.userid+iconExtension, dat.fileData.buffer, (err) => {
console.log("result->", err);
try {
await fsPromise.writeFile("./img/" + dat.reqSender.userid + iconExtension, dat.fileData.buffer);
} catch (e) {
console.log(e);
}

});
console.log("index :: changeProfileIcon : アイコン変更処理完了");

});

Expand Down

0 comments on commit 3c36a88

Please sign in to comment.