我需要在後臺上傳GWT文件,即。而不是來自視覺小部件。使用RequestBuilder上傳文件
爲此我找到了RequestBuilder類,但很少有關於如何將其用於上載目的的文檔。
我需要上傳的文件內容是100%純文本。
到目前爲止我的代碼看起來是這樣的:
final String filename = UUID.randomUUID().toString() + ".txt";
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, "http://localhost/upload");
rb.setRequestData(selected.getBody()); // getBody() is plain-text
rb.setHeader("Content-Type", "application/x-www-form-urlencodeddata");
rb.setCallback(new RequestCallback() {
@Override
public void onResponseReceived(Request request, Response response) {
w.setUrl("http://localhost/magic.html?hide=status&open=" + filename);
w.show();
w.maximize();
}
@Override
public void onError(Request request, Throwable exception) {
exception.printStackTrace();
}
});
// Checked Exceptions sucks *sigh*
try {
rb.send();
}
catch (RequestException e) {
e.printStackTrace();
}
我希望有人可以給我一些指點對解決這個問題,謝謝!
這是不是一個瀏覽器操作,這是從碼頭送到後臺HTTP請求( Java EE應用程序服務器)。 這是完全可行的(因此,爲什麼RequestBuilder首先存在),除了我不知道如何構建正確的格式化請求。 – 2010-02-19 14:02:32
oke我現在迷路了;-)我知道的RequestBuilder是一個GWT客戶端類,它被編譯爲JavaScript,在瀏覽器中運行。所以當你說'上傳'時,你的意思是'從瀏覽器發送到服務器還是其他地方,或者瀏覽器與它無關?並且'你從'Jetty發送給瀏覽器'或者其他地方的'HTTP請求'? – 2010-02-19 14:42:49