웹 양식을 사용하여 HTTP POST를 통해 파일을 업로드하는 가장 좋은 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/11974

문제

기본적으로 이보다 더 나은 것이 있습니다.

<input type="file" name="myfile" size="50">

우선, browse 버튼은 브라우저마다 다르게 보입니다.와 달리 submit 양식에 있는 버튼을 누르면 몇 가지를 생각해내야 합니다. 해킹 스타일링하는 방법.

둘째, 파일이 얼마나 업로드되었는지 보여주는 진행률 표시기가 없습니다.일반적으로 다중 제출을 비활성화하려면 일종의 클라이언트 측 방법을 구현해야 합니다(예:제출 버튼을 "양식 제출 중..."이 표시된 비활성화된 버튼으로 변경합니다.잠시만 기다려주세요.") 또는 거대한 경고를 표시합니다.

Flash나 Java를 사용하지 않고 이에 대한 좋은 솔루션이 있습니까?

야코프:그 제품이 제가 찾고 있는 제품인 것 같은데 가격이 1000달러이고 특히 ASP.NET. 동일하거나 유사한 기능을 다루는 오픈 소스 프로젝트가 있습니까?

도움이 되었습니까?

해결책

Flash, Java 또는 ActiveX와 같은 다른 기술을 포함하고 싶지 않은 경우 파일 업로드 상자가 현재 있는 곳입니다.

일반 HTML을 사용하면 설명한 경험(진행 표시줄 없음, 이중 제출 등)으로 거의 제한됩니다.일부 자바스크립트를 사용하려는 경우 업로드가 진행 중이라는 피드백을 제공하여 일부 문제를 해결할 수 있습니다. 업로드 진행 상황 표시 (서버와 서버 사이를 왕복할 필요는 없기 때문에 해킹이지만 적어도 작동합니다.)

어디에서나 많은 플랫폼에서 사용할 수 있는 Flash를 사용하려는 경우 이러한 문제를 거의 모두 극복할 수 있습니다.빠른 인터넷 검색이 나타났습니다. 그런 구성 요소, 둘 다 무료 그리고 오픈 소스.나는 그것들 중 하나를 사용해 본 적이 없지만 좋아 보입니다.그런데, Flash에도 문제가 없는 것은 아닙니다. 예를 들어 슬라이드 공유를 위해 다중 파일 업로더를 사용할 때 브라우저가 계속 충돌했습니다. :-(

아마도 현재 가장 좋은 해결책은 사용자에게 Flash가 있는지 동적으로 감지하고, 그렇다면 기본 HTML 버전을 선택할 수 있도록 하면서 업로더의 플래시 버전을 제공하는 것입니다.

HTH

다른 팁

당신은 볼 수 있습니다 멋진 업로드 스크립트.플래시를 사용하더라도 여전히 멋져 보입니다.

여기서 문제는 브라우저가 기본 파일 업로드 입력 제어를 변경하는 모든 것을 차단하기 위해 특별히 작동한다는 것입니다.예를 들어 자바스크립트로는 변경할 수 없습니다.

그 이유는 보안 때문입니다. 스크립트를 작성할 수 있다면 귀하가 방문했을 때 귀하의 하드 디스크에서 다양한 파일을 나에게 보내는 페이지를 구축할 수 있습니다.좋지 않아.

현재 다양한 해결 방법이 있지만 IE와 FX 간에는 다릅니다(Safari, Opera 등에 대해서는 모르겠습니다).

무엇을 봐 http://www.gmail.com IE와 FX에서는 이메일에 무언가를 첨부할 때 그렇습니다.

나는 그 쓰레기 같은 "찾아보기" 버튼을 보고 싶습니다. 이는 예상치 못한 것은 아무것도 허용하지 않는다는 것을 의미합니다.

사실, 파일 업로드 제어가 확실히 시대에 뒤떨어져 있습니다.이 문제는 향후 asp.net 버전에서 해결되기를 바랍니다.

돈이 좀 들긴 했지만 찾아보니 Telerik 업로드 제어 스타일 및 진행률 업데이트를 포함하여 귀하가 찾고 있는 모든 기능을 갖습니다(대규모 업로드를 위한 메모리도 최적화합니다).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top