다양한 파일 (pdf, 이미지 등)은 MS SQL Server의 ntext 필드에 저장됩니다. 물음표와 정의되지 않은 문자를 표시하는 것 외에이 필드에 어떤 유형이 있는지 확실하지 않습니다. 이진 유형이라고 가정합니다.asp를 사용하여 SQL Server의 ntext 데이터를 파일 디렉토리에 저장
스크립트는 행을 반복하고 이러한 파일을 추출하여 임시 디렉토리에 저장합니다. "filename"과 "contenttype"이 주어지고 "data"는 ntext 필드에있는 모든 것입니다.
내가 시도 몇 가지 솔루션 :
1) data.SaveToFile "/temp/"&filename, 2
오류 : 필요한 개체 : '????????????????????'
???
2) File.WriteAllBytes "/temp/"&filename, data
오류 : 필요한 개체 : '파일'
나는이 문제를 가져하는 방법을 모르고, 또는 MapPath를위한 서버가 없습니다. (큐 : 어떤 멍청한 놈!)
3)
Const adTypeBinary = 1
Const adSaveCreateOverWrite = 2
Dim BinaryStream
Set BinaryStream = CreateObject("ADODB.Stream")
BinaryStream.Type = adTypeBinary
BinaryStream.Open
BinaryStream.Write data
BinaryStream.SaveToFile "C:\temp\" & filename, adSaveCreateOverWrite
오류 : 인수가 잘못된 형식의 허용 범위를 벗어나 있거나 서로 충돌하고 있습니다.
4)
Response.ContentType = contenttype
Response.AddHeader "content-disposition","attachment;" & filename
Response.BinaryWrite data
response.end
이 방법은 작동하지만 저장 대화 상자를 표시하는 대신 파일을 서버에 저장해야합니다. 파일에 대한 응답을 저장하는 방법이 있는지 확실하지 않습니다.
이러한 문제에 대해 알려 주셔서 감사합니다.
NTEXT는 실제로 텍스트 전용입니다.하지만 거기에 바이너리 파일이있는 것 같습니다. 아주 이상한 설정입니다! –