希望有人可以帮助解决这个问题.
基本上,我们使用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
};
Run Code Online (Sandbox Code Playgroud)
在实际页面上,我们创建了一个按钮,其中ng-click将通过flow.files
<input type="button" value="Click Me" ng-click="uploadme($flow.files)">
Run Code Online (Sandbox Code Playgroud)
在控制器中,我们有函数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
})
});
}
Run Code Online (Sandbox Code Playgroud)
MVC控制器,'上传'.但是,这个被调用,文件始终为null
public ActionResult upload(HttpPostedFileBase file)
{
if (file.ContentLength > 0)
{
var fileName = …Run Code Online (Sandbox Code Playgroud) 我正在使用ng-flow指令将文件上传到服务器.有没有办法可以使用普通上传而不是ng-flow模块中使用的分块上传?
我尝试创建一个用于将图像上传到Google App Engine blobstore的页面.我正在使用angularjs和ng-flow来实现这一点.
上传部分似乎工作正常,除了所有blob都存储为'application/octet-stream'并命名为'blob'.如何让blobstore识别文件名和内容类型?
这是我用来上传文件的代码.
在FlowEventsCtrl里面:
$scope.$on('flow::filesSubmitted', function (event, $flow, files) {
$http.get('/files/upload/create').then(function (resp) {
$flow.opts.target = resp.data.url;
$flow.upload();
});
});
Run Code Online (Sandbox Code Playgroud)
在view.html里面:
<div flow-init="{testChunks:false, singleFile:true}"
ng-controller="FlowEventsCtrl">
<div class="panel">
<span flow-btn>Upload File</span>
</div>
<div class="show-files">...</div>
</div>
Run Code Online (Sandbox Code Playgroud)
服务器端是在blobstore文档中指定的.
谢谢
以下(简化)代码
type Category = {
id: string,
name: string,
};
type Option = {
id: string,
name: string,
isSelected: boolean,
};
const options = categories.map((c: Category): Option => ({
isSelected: true,
...c,
}));
Run Code Online (Sandbox Code Playgroud)
产生错误:
Flow:无法传播对象文字,因为 Flow 无法确定对象文字 [1] 的类型。
Category[2] 是不准确的,因此它可能包含isSelected与isSelected对象字面量 [1] 中的定义冲突的类型。尝试使Category[2] 精确。
我错过了什么?