Delete a Exif at JPEG file.
The web version of this repository(Delete-Exif).
git clone https://github.com/shinshin86/Delete-Exif-Web.git
pip install pillow
pip install flask
pip install -U flask-cors
cd frontend
yarn # or "npm install"
# development mode
NODE_ENV=development bash start.sh
# production mode
NODE_ENV=production bash start.sh
Browser access to "localhost:3000"
Running Backend server
cd backend
python delete_exif_web.py
Running Frontend's local server
cd frontend
# development mode
NODE_ENV=development yarn run start # NODE_ENV=development npm run start
# production mode
NODE_ENV=production yarn run start # NODE_ENV=production npm run start
Browser access to "localhost:3000"
Delete all upload files backend/static/tmp
bash tmp-delete.sh
This includes some of my own experiments. And this project is not aimed at a practical tool. For example...
- Implement SSR
- Chunk file upload (By default, this feature is commented out)
When trying chunk file upload, please modify as follows.
--- a/frontend/src/sagas/index.js
+++ b/frontend/src/sagas/index.js
@@ -8,11 +8,11 @@ const sleep = ms => new Promise(resolve => setTimeout(resolve, ms));
export function* handleDeleteExif() {
while (true) {
const action = yield take(DELETE_EXIF);
- const successFiles = yield call(fileUpload, action.files);
+ // const successFiles = yield call(fileUpload, action.files);
// chunk file upload
// [Note] Not yet fix is done on the return value
- // const successFiles = yield call(chunkFileUpload, action.files);
+ const successFiles = yield call(chunkFileUpload, action.files);
if (successFiles.length !== 0) {
const res = Object.assign(successFiles, { result: true });
yield put(successDeleteExif(res));