うまくいけば、誰かがこれを手伝ってくれるでしょう。
基本的に、ドラッグ アンド ドロップでアイテムをアップロードできるように、ng-flow https://github.com/flowjs/ng-flowを使用しています。MVC 4も使用しています。
すべてが正常に機能しているように見えますが、これをカスタマイズしたいと考えています。
- アイテムはアップロード ボックスにドラッグされ、スコープに保存されます (現在はそうです)。
- ボタンがクリックされるまでアイテムは物理的にアップロードされません
これまでに何を試しましたか?:-
構成で、ターゲットがすぐにアップロードされないようにターゲットを無効にしました
.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();
}
欠けているものはありますか?または、これを達成する別の方法があります。