다운로드 Struts2 동안 삽입 :자동 공간 내가 할 노력하고있어
서버 TXT 파일에 생성하고 클라이언트 측에서 다운로드합니다. 내가 스트럿 2를 사용하고 , 여기에 코드 부분입니다 :
AwesomeAction.java
InputStream fileInputStream;
public InputStream getFileInputStream(){
return fileInputStream;
}
public String execute() {
res = "toto";
fileInputStream = new StringInputStream(res);
return SUCCESS;
}
struts.xml 작동하지 않습니다 무엇
<action name="awesomeAction" class="pathtomyawesomeaction">
<result name="success" type="stream">
<param name="contentType">text/plain</param>
<param name="inputName">fileInputStream</param>
<param name="contentDisposition">attachment;filename="id_opp.txt"</param>
<param name="bufferSize">1024</param>
</result>
<result name="error" type="redirect">/erreur.do</result>
</action>
:
클릭하면 액션을 트리거하는 링크에서 "id_opp.txt"라는 파일이 실제로 다운로드되고 모든 텍스트 ("toto")가 포함되지만 각 문자 앞에 공백이 추가됩니다.
"t O t O"서버와
, 내 변수가 "토토"서버 측 포함되어 있는지 확인 해요 제충, 그래서 내가 그리워 설정 ...
어떤 생각을해야합니까?
import org.hsqldb.lib.StringInputStream; InputStream의 경우 String이 클래스에 내장되어 있으므로 FileInputStream 또는 다른 것을 사용할 수 없으며 다른 방법을 알지 못합니다.
StringInputStream이 문제의 근본이었다 사용하는 대신에 전환 : : 나는 어떤 결과
를토마스
해결 된 덕분에 가지고로 인코딩에서 확인
, 즉시 업데이트됩니다 을 fileInputStream = 새로운 ByteArrayInputStream (res.getBytes (StandardCharsets.UTF_8)); 실제 인코딩 등과 함께 "고해상도"변수에 대한 InputStream를 구축
... 이런
제공하지 않았기 때문에 인코딩 문제 일 수 있습니다. 게다가, 당신은'StringInputStream' 클래스를 사용하고 있습니까? AFAIK는 스트럿츠 2 코어 라이브러리가 아니며 JDK 클래스도 없다. 그리고 당신의 모범이 맞습니까? 't'를 소문자로 썼지 만 대문자로 받아들일까요? – Thomas
그 세부 사항으로 질문을 편집하여 누구나 볼 수 있도록 할 것입니다! –
@Thomas 대문자 T는 오타였습니다. 이 문제를 해결하기 위해 InputStream을 빌드하는 더 좋은 방법 인 ByteArrayInputStream을 사용하여 최소 30 분 내에 업데이트 할 것입니다. –