5

うまくいけば、誰かがこれを手伝ってくれるでしょう。

基本的に、ドラッグ アンド ドロップでアイテムをアップロードできるように、ng-flow https://github.com/flowjs/ng-flowを使用しています。MVC 4も使用しています。

すべてが正常に機能しているように見えますが、これをカスタマイズしたいと考えています。

  1. アイテムはアップロード ボックスにドラッグされ、スコープに保存されます (現在はそうです)。
  2. ボタンがクリックされるまでアイテムは物理的にアップロードされません

これまでに何を試しましたか?:-

構成で、ターゲットがすぐにアップロードされないようにターゲットを無効にしました

.config(['flowFactoryProvider', function (flowFactoryProvider) {
flowFactoryProvider.defaults = {
  target: '',
  permanentErrors: [500, 501],
  maxChunkRetries: 1,
  chunkRetryInterval: 5000,
  simultaneousUploads: 1
};

実際のページでは、flow.files を通過する ng-click を使用してボタンを作成しました。

<input type="button" value="Click Me" ng-click="uploadme($flow.files)">

コントローラーには、フローをパラメーターとして受け入れる関数、uploadme があります。このパラメーターをループし、各「ファイル」をアップロードコントローラーに投稿します

$scope.uploadme= function (flows)
{
    angular.forEach(flows, function (flow) {
        var fd = new FormData();
        fd.append("file", flow);
        $http.post("upload", fd, {
            withCredentials: true,
            headers: {'Content-Type': undefined },
            transformRequest: angular.identity
        })
    });

}

MVC コントローラー、「アップロード」。これは呼び出されますが、ファイルは常にnullです

public ActionResult upload(HttpPostedFileBase file)
    {
        if (file.ContentLength > 0)
        {
            var fileName = Path.GetFileName(file.FileName);
            var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName);
            file.SaveAs(path);
        }
        return View();
    } 

欠けているものはありますか?または、これを達成する別の方法があります。

4

2 に答える 2

2

この質問に対する素敵な答えへの参照を追加したいだけです: Ng-flow upload programmatically

それが役に立てば幸い。

于 2015-07-15T14:44:56.007 に答える