我正在尝试使用DataSnap从服务器流式传输XML文件,在ldsandon的帮助下,我能够从embarcadero下载样本,但我的问题是我无法遵循它。
程序的伪应该以这种方式工作。
客户端将从服务器请求组合框中选定的xml文件。 服务器将客户端选定的xml文件加载回客户端。
我正在尝试使用delphi DataSnap来解决这个问题,如果不是,我会使用synapse或indy来传输文件,但我发现Datasnap很有趣。
任何人都可以帮助我,如果可能的话可以工作吗?
非常感谢。
请帮帮我,我非常需要你的帮助..谢谢,谢谢
我找到了link,但我无法弄清楚如何将其转换为TFileStream
答案 0 :(得分:-1)
//服务器端
var PVNServices = angular.module('PVN.services', []);
PVNServices.factory('ItemService', ['$q', 'apiUrl', '$http', 'errorHandler', function($q, apiUrl, $http, errorHandler) {
return {
getAlert: function(alert_id, user_id, categorie_id) {
return $http({ method: 'get',
url: apiUrl + 'getAlert/',
params : {
'alert_id' : alert_id,
'user_id' : user_id,
'categorie_id' : categorie_id,
}
}).then(function(res){return res.result }, errorHandler);
}
}
}]);
var PVNControllers = angular.module('PVN.controllers', ['PVN.services']);
PVNControllers.controller('AppController', ['$scope', 'ItemService', function($scope, ItemService) {
$scope.getAlert = function(alert_id, user_id, categorie_id){
ItemService.getAlert(alert_id, user_id, categorie_id).then(function(alert){
$scope.alert = alert;
}
}
}]);
var PVNDashboard = angular.module('PVN', ['ngSanitize','ngMaterial','PVN.controllers'], function($interpolateProvider) {
$interpolateProvider.startSymbol('<<');
$interpolateProvider.endSymbol('>>');
});
PVNDashboard.run(function() {
moment.locale('nl');
});
<body class="" ng-app="PVN">
</body>
//客户端
function TServerMethods1.GetCDSXML(SQL: String; var FileSize: Integer): TStream;
begin
QryMisc.Close;
QryMisc.SQL.Text := SQL;
CDSMisc.Open;
Result := TMemoryStream.Create;
try
CDSMisc.SaveToStream(Result, dfXML);
FileSize := Result.Size; // not CDSMisc.DataSize;
Result.Position := 0; // Seek not implemented in abstract class
finally
CDSMisc.Close;
end;
end;