HTTP upload 방식으로 파일을 업로드할 때 mime type 인가요?

trymp의 이미지


지금 client 에서 server 쪽으로 파일을 업로드할때

검사하는 로직을 짜고 있는데요.

HTTP 프로토콜을 이용해서 파일을 업로드 할 때

해당 파일은 무조건 multipart type(mime type) 으로

만들어져서 보내지나요???

그냥 오리지날 파일로 upload 되는 경우는 없는지 궁금합니다.

고수님들의 조언 부탁드립니다.

shint의 이미지

HTML enctype Attribute
http://www.w3schools.com/tags/att_form_enctype.asp

여기보면. 3가지가 나옵니다.
하지만. 몇가지 다른 방식이 있는것 같습니다.

//---------------------------------------
- form post 로 request header를 생성

- AJAX 로 전송
- FLASH 로 전송
- 다른 사이트에 OpenAPI를 form 으로 사용해서 전송

- HTML accept Attribute 로 이미지 업로드
- Handling Authentication : 프로토콜과 프록시 사용

//---------------------------------------
php upload
multipart/form-data
httpaddrequestheaders
httpaddrequestheaders cookie

CWebBrowser
CExplorer
WinInet
WINHTTP

HTML enctype Attribute
http://www.w3schools.com/tags/att_form_enctype.asp

HTML accept Attribute
http://www.w3schools.com/tags/att_form_accept.asp

HTML accept Attribute
http://www.w3schools.com/tags/att_input_accept.asp

Media Types
http://www.iana.org/assignments/media-types/media-types.xhtml

MakeRequestHeaders()
multipart/form-data

MakePreFileData()
strFormat += _T("Content-Disposition: form-data; name=\"filedata\"; filename=\"%s\"");
strFormat += _T("Content-Type: application/octet-stream");
// strFormat += _T("Content-Transfer-Encoding: binary");

MakePostFileData()
strFormat += _T("Content-Disposition: form-data; name=\"submitted\"");

HttpAddRequestHeaders function
https://msdn.microsoft.com/ko-kr/library/windows/desktop/aa384227(v=vs.85).aspx

HTTP Sessions
https://msdn.microsoft.com/ko-kr/library/windows/desktop/aa384322(v=vs.85).aspx

HINTERNET Handles
https://msdn.microsoft.com/ko-kr/library/windows/desktop/aa383766(v=vs.85).aspx

InternetConnect function
https://msdn.microsoft.com/ko-kr/library/windows/desktop/aa384363(v=vs.85).aspx

Handling Authentication
https://msdn.microsoft.com/ko-kr/library/windows/desktop/aa384220(v=vs.85).aspx

Asynchronous Example Application
https://msdn.microsoft.com/ko-kr/library/windows/desktop/cc185684(v=vs.85).aspx

FtpOpenFile function
https://msdn.microsoft.com/ko-kr/library/windows/desktop/aa384166(v=vs.85).aspx

GopherOpenFile function
https://msdn.microsoft.com/ko-kr/library/windows/desktop/aa384210(v=vs.85).aspx

WinINet Functions
https://msdn.microsoft.com/ko-kr/library/windows/desktop/aa385473(v=vs.85).aspx

//--------------------------------------
multipart/form-data를 이용한 파일 업로드
http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=50&MAEULNo=20&no=850468&ref=850468

wininet.dll 사용하여 서버로 쿠키 전송? | ActiveX Programming
http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=47&MAEULNo=19&no=228183&ref=228171

[AS3.0]Multipart/form-data POST로 폼데이터 보내기[RFC1867] | Flash 학습자료방
http://cafe.naver.com/flashactionscript/40470

Ajax Multipart/form-data 전송문제
http://cafe.naver.com/mobilewebapp/5218

HTTP multipart/form-data raw 데이터는 어떤 형태일까?
http://lng1982.tistory.com/209

파일 업로드 multipart/form-data (: MultipartRequest 객체)
http://kaludin.egloos.com/v/2274255

Send files as Multipart Form Data¶
https://luckymarmot.com/paw/doc/Send_Files_as_Multipart_Form_Data

To simulate a request that a web browser would send when a file is attached to a form,
you need to use the body Multipart format in Paw
(not the File tab, which sets the file content as the whole body, without including the multipart format).

file Upload시 ajax로 multipart/form-data 데이터 처리
http://blog.naver.com/ntzkimy?Redirect=Log&logNo=220484868445

multipart-form-data 전송 -1 Android / 프로그래밍
http://jcd3030.blog.me/220384563524

MIME (영어: Multipurpose Internet Mail Extensions)는 전자 우편을 위한 인터넷 표준 포맷
OSI/IP 모형 7계층
6. 표현 계층
MIME · XDR · TLS · SSL
https://ko.wikipedia.org/wiki/MIME

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com

trymp의 이미지

^^

익명 사용자의 이미지

HTTP 클라이언트를 별도로 구현하지 않았다면 기본값이 그렇다고 보면 되고, 제대로 된 웹 개발용 언어를 사용한다면 form data 디코딩은 언어 차원에서 지원해 줄 겁니다. 혹시 어떤 환경에서 개발 중인가요?

trymp의 이미지

^^

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.