2011-01-18 7 views
0

내 CMS의 경우 사용자가 제품에 연결되는 그림을 업로드 할 수있게하려고합니다. 이 모든 것은 누군가가 새로운 기록을 만들 때 사진을 업로드하기 전까지는 잘됩니다.이미지 이름이 GUID 인 새 레코드에 대한 딜레마 업로드 이미지

여기서 문제는 모든 제품에 GUID (ProductID (PK) 옆)가 있으며 제품을 처음 저장할 때 생성된다는 것입니다. 내 이미지 물마루 Uploadify jquery 플러그인으로 webservice 업로드 해요 그래서 그것은 아약스 기반의 모든 방법. 그러나 이미지 업 로더는 올바른 디렉토리에 GUID를 저장해야합니다.

내 일시적인 수정은 사용자가 업로드하기 전에 제품을 저장하도록 허용하여 GUID를 알았지 만 매우 사용자 친화적이지 않으며 더 나은 방법이있을 것이라고 확신하지만 만족스러운 것을 찾지 못합니다.

이것은 내가하는 가지고 올 수있는 유일한 옵션은 좀 괜찮지만 어쩌면 내가 완전히 뭔가를 누락 :

  • 제품을 저장하지 않고 GUID를 만들기 때문에 이미지가 업로드되고 수 있습니다 나중에 GUID가있는 제품을 저장할 수 있습니다. 하지만 사용자가 업로드 한 후 탐색하는 경우에는 어떻게해야합니까? 그 고아한 이미지를 삭제하는 예약 된 작업을 만들 수 있습니다

비슷한 시나리오를 다룬 사람이 있습니까? 이 기능은 내 CMS의 여러 섹션에서 사용되므로 본인의 문제에 대한 귀하의 의견에 매우 관심이 있습니다.

시간 내 주셔서 감사합니다.

종류와 관련, 마크

답변

1

당신은 대부분 직접 귀하의 질문에 대답했다.

키는 임시 파일입니다. 조금 더 똑똑한 방법입니다 : 이미지를 임시 폴더에 저장하고 Session 개체의 이미지 이름을 기억하십시오. 사용자가 Global.asax의 Session_End 메서드에서 멀리 이동하면 해당 이미지를 삭제하십시오. 을 쓰레기 수거라고합니다.

사용자가 제품을 저장하면 영구적으로 이미지를 저장하고 그에 따라 이름을 지정하십시오!

+0

아마 내가 찾던 누락 된 링크였습니다. 완전한!! – Mark

+1

Session_End는 inproc 세션 상태 공급자 (asp.net과 함께 제공되는 세션 공급자)에 대해서만 발생한다는 점을 기억하십시오. 상태 서버와 SQL Server 구현은 Session_End를 발생시키지 않습니다. – sisve