0

JQueryを使用して画像をリモートサーバーに手動で投稿しようとしています。ファイルは「c:\ temp \ 1.jpg」のようなもので、投稿はバックグラウンドにあります。

オンラインで見たものを使用してみましたが、機能しません。

var data = new FormData();
data.append("file", "c:\\temp\\1.jpg");

$.ajax({
    type: "POST",
    url: "http://localhost:61602/home/FileUpload",
    contentType: false,
    processData: false,
    data: data,
    success: function (result) {
        alert("Success: " + result);
    },
    error: function () {
        alert("There was error uploading files!");
    }
});

アイデアは、htmlファイルが利用できないモバイルデバイスからアップロードすることですが、アップロードするファイルの場所をユーザーが選択できるようにしました。

よろしくお願いします、アミット

4

1 に答える 1

0

このように FormData でアップロード制御データを送信する必要があります

var form_data = new FormData();
var objFiles = $("input#fUpload").prop("files");
form_data.append("file", objFiles[position]);

フォームにファイル アップロード コントロールが 1 つある場合、位置の値は 0 です。

postion = 0

private void handlepostImage()
     {
         string guid = Guid.NewGuid().ToString();
         for (int i = 0; i < Request.Files.Count; i++)
         {
             HttpPostedFile objHttpPostedFile = (HttpPostedFile)Request.Files[i];
             string filename = Server.MapPath("../Uploads/Contents/" + guid + Path.GetExtension(objHttpPostedFile.FileName));
             objHttpPostedFile.SaveAs(filename);
         }
Response.Write("{\"fileGuid\":\"" + guid + "\"}");
}

ファイル名をクライアント側に返すことができます

于 2014-04-22T10:08:19.333 に答える