0

これは私のサンプルHTMLコードです

<html>
        <head>
            <title>
                fileupload
            </title>
        </head>
        <body>
            <form action="process.jag" method="post" id="" name="">
                  <!-- File input filed -->
                  <input type="file" name="myFile">

                  <!-- The submit button. It calls the server side function uploadfiles() on click -->
                  <input type="submit" id="" value="Upload File">

            </form>
        </body>
    </html>

これは私のジャガリーコードです

<%
    var verb=request.getMethod();
    if (verb=='POST'){

        var log = new Log();
        var file = request.getFile("myFile");
        file.move("C:\Users\vatsal ramesh gosar\Desktop\New folder\form\fileUploadUsingJaggery"+file.getName());

        response.sendRedirect("https://www.google.com");

    }

%>

NULL ポインタ例外が発生しています。効率的なコードでこの問題を解決するのを手伝ってください。

4

2 に答える 2

1

request.getFile("myFile")物理ファイルを表すのではなく、アップロードされたファイルへのストリームを表します。したがって、関数を使用して「移動」することはできませんfile.move("/moving/path")。アップロードしたファイルを保存する場合は、次のコード スニペットを使用します。

var uploadedFile = request.getFile("myFile");
var savedFile = new File("/path/to/save/location/" + uploadedFile.getName());
savedFile.open('w');
savedFile.write(uploadedFile.getStream());
savedFile.close();
于 2015-09-18T17:02:39.473 に答える
0

Jaggeryのドキュメントでは、画像をサーバーにアップロードする方法が見つかりません。しかし、いくつかの代替案があります...

画像をbase64エンコーディングにエンコードします。この方法を使用して、base64で画像をエンコードすることもできます

$path = 'myfolder/myimage.png';
$type = pathinfo($path, PATHINFO_EXTENSION);
$data = file_get_contents($path);
$base64 = 'data:image/' . $type . ';base64,' . base64_encode($data);

次に、 Jaggery を使用してPOST要求を使用して、エンコードされた文字列を送信します。

于 2015-09-10T09:09:27.007 に答える