홈>
이 모듈을 사용하여 socket.io를 통해 이미지를 업로드하고 있습니다
클라이언트 측 코드는 다음과 같습니다.
<img src="/img/avatar-2-128.png" alt="" id="signinbox_photo"> //avatar-2-128.png is an avatar that will be replaced
<input type="file" id="siofu_input" />
//upload the image to the server
var uploader = new SocketIOFileUpload(socket);
uploader.listenOnInput(document.getElementById("siofu_input"));
socket.on('update photo', function(data){ //update the src attr of the img tag
var signinbox_photo = $('#signinbox_photo');
signinbox_photo.attr("src",`/img/user_images/${data.id}.jpg`);
});
서버 측 :
var fs = require('fs');
var siofu = require("socketio-file-upload");
io.sockets.on('connection', function(socket) {
var uploader = new siofu();
var dir = "./public/img/user_images/"
uploader.dir = dir;
uploader.listen(socket); //save the file
uploader.on("saved", function(event){
fs.rename(dir + event.file.name, dir + socket.id + ".jpg", function(err) { //replace the file name to socket id
if ( err ) console.log('ERROR: ' + err);
});
io.sockets.emit('update photo', {id: socket.id}) //emit to client so it updates the src of the image
});
});
사용자가 사진을 업로드하면 작동하고 모든 것이 예상대로 작동하지만 사용자가 다시 업로드하면 서버에서 파일을 교체하지만 클라이언트에서 이미지의 src는 업데이트하지 않습니다. 어떤 제안이라도 감사하겠습니다. 감사합니다.
- 답변 # 1
관련 자료
- python - oschdir은 디렉토리를 변경하지 않습니다
- Change Location Button Image - 위치 버튼 이미지 변경 - google maps ios sdk
- javascript - 다음 이미지로 이동하지 않습니다
- css html에서 클릭 후 이미지 변경
- javascript - 체크 박스는 React todo 애플리케이션에서 클릭시 값을 변경하지 않습니다
- go - 이미지의 해상도를 변경하는 방법은 무엇입니까?
- c# - for 루프 중에 WPF 그리드 너비가 변경되지 않는 이유
- reactjs - 드롭 다운에서 항목을 선택할 때 React Material UI Select가 값을 변경하지 않습니다
- ios - 버튼 클릭시 버튼 이미지 변경 Xcode
- wordpress - jquery 슬라이더 플러그인의 이미지를 변경하는 방법
- unity3d - 애니메이터 매개 변수는 Unity2D를 변경하지 않습니다
- php - $_POST 명령이 객관식 이미지 확인란 값을 인식하지 못합니다
- c++ - 참조로 전달 했는데도 변수 값이 변경되지 않는 이유
- javascript - Angular에서 시간 간격 후 이미지를 변경하는 방법은 무엇입니까?
- javascript - 내 속성의 값이 변경되지 않는 이유는 무엇입니까?
- html - 마우스 오버시 이미지 밝기 변경
- javascript - DataTables 필터 입력 이미지 변경
- c++ - 남성에 1을 더한 후 'all_members'변수가 변경되지 않는 이유는 무엇입니까?
- sql server - 업데이트 쿼리는 아무것도 변경하지 않고 오류를 표시하지 않습니다
- virtual machine - qemu가 x86_64 우분투 호스트에 aarch64 알파인 이미지를 설치하지 않는 이유는 무엇입니까?
관련 질문
- javascript : 중첩 Ajax 호출 문제
- javascript : jquery는 div를 제거하고 애니메이션으로 다음 항목을 다시 정렬합니다.
- javascript : jquery로 움직이는 이미지 회전하기
- 내 함수가 완료되면 JavaScript(또는 jQuery)로 사용자 정의 이벤트를 시작합니다.
- javascript : URL에서 페이지로 이미지를 가져오는 방법
- javascript : 여러 위치에서 호출할 수 있도록 아래 jQuery code를 함수에 작성하는 방법은 무엇입니까?
- c# : JavaScript에서 경로 매개변수를 얻는 방법은 무엇입니까?
- javascript : 문서 내부 경고가 준비된 후에만 작동하는 트리거
- javascript : alert() 함수의 소스 code
- javascript : JQuery 및 CSS를 사용한 양식 유효성 검사
이미지를 업로드 할 때마다 이미지 이름이 동일하고 동일한 이름으로 다른 이미지를 업로드 한 것을 브라우저가 알 수있는 방법이 없기 때문입니다. 그래도 해결 방법이 있습니다. 클라이언트 측에서 src를 다음과 같이 할당하면서 쿼리 매개 변수로 임의의 숫자를 추가 할 수 있습니다 :