当前位置: 首页 > 知识库问答 >
问题:

服务器端和客户端同步进度条的方法有哪些

欧镜
2023-03-14

我不熟悉Spring boot和angular js。在我的控制器(角度文件上传)中--

app.controller('AppController_img', ['$scope', 'FileUploader','Restangular','ngDialog', function($scope, FileUploader,Restangular,ngDialog) {
    var uploader = $scope.uploader = new FileUploader({
        url: 'https://angular-file-upload-cors-srv.appspot.com/uploadI'
    });

在我的角文件上传控制器中的进度事件中,我有-

uploader.onProgressItem = function(fileItem, progress) {
      /*  console.info('onProgressItem', fileItem, progress);*/
        console.log(progress);
        $scope.abcd=true;
    };

在服务器端--

我使用了MultiPartFile。我正在尝试使用putObjectRequest方法将图像上传到Amazon服务器bucket(s3)。我将文件上传到bucket,但在前端,上传程序的进度条立即运行到99%,然后停止。我试着用谷歌搜索它,但找不到任何解决方案。

下面是参考代码-

@RequestMapping(value="/uploadI", method = RequestMethod.POST, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
 @ResponseBody
 public Success uploadImage( @RequestParam("file") MultipartFile file, HttpServletResponse response,final HttpServletRequest request)
         throws ServletException, IllegalStateException, IOException {

AmazonS3 s3client = new AmazonS3Client(credentials);   
String name = file.getOriginalFilename();
        InputStream is = file.getInputStream();
        String fileName = folderName + SUFFIX + name; 
String bucketName = "abc.in";
        String folderName = "xyz";          

         if (!file.isEmpty()) {
                try {

                    byte[] contentBytes = IOUtils.toByteArray(is);
                    Long contentLength = Long.valueOf(contentBytes.length);
                    ObjectMetadata metadata = new ObjectMetadata();
                    metadata.setContentLength(contentLength);
                    System.out.println(contentLength);
                    metadata.setContentType(file.getContentType());
                    PutObjectRequest putObjectRequest = new PutObjectRequest(
                            bucketName, fileName, file.getInputStream(), metadata)
                            .withStorageClass(StorageClass.ReducedRedundancy);


                    s3client.putObject(putObjectRequest);
}catch (Exception e) {
                    e.getStackTrace();
}
}

谢谢你经历了这些,如果你有任何线索,请告诉我

共有1个答案

司马英才
2023-03-14

最好使用aws-javascript-sdk将内容上传到aws。

它确实通过诸如httpUploadProgress和httpDownloadProgress之类的函数提供进度状态

 类似资料:
  • 问题内容: 我正在寻找一些通用策略,用于将中央服务器上的数据与并不总是在线的客户端应用程序进行同步。 在我的特定情况下,我有一个带sqlite数据库的android手机应用程序和一个带MySQL数据库的PHP Web应用程序。 用户将能够在电话应用程序和Web应用程序上添加和编辑信息。我需要确保即使手机无法立即与服务器通信,在一个地方所做的更改也会在所有地方反映出来。 我不关心如何将数据从手机传输

  • 问题内容: 我正在制作客户端服务器MMO风格的游戏。到目前为止,我已经建立了框架,以便服务器和客户端相互交互以提供状态更新。服务器维护游戏状态并定期计算下一个状态,然后每隔一段时间(每n毫秒)将其发送给所有客户端。用户可以在客户端查看此新状态并做出反应。然后,将这些操作发送回服务器进行处理,并发送给下一次更新。 明显的问题是这些更新在服务器和客户端之间传播需要花费时间。如果客户端采取行动攻击敌人,

  • 我想在一些计算机之间建立点对点连接,这样用户就可以在没有外部服务器的情况下聊天和交换文件。我最初的想法如下: 我在服务器上制作了一个中央服务器插座,所有应用程序都可以连接到该插座。此ServerSocket跟踪已连接的套接字(客户端),并将新连接的客户端的IP和端口提供给所有其他客户端。每个客户端都会创建一个新的ServerSocket,所有客户端都可以连接到它。 换句话说:每个客户端都有一个Se

  • 我有一个客户端服务器的情况,每一方都在测量时间,但似乎有一个问题,即测量的时间不匹配。长话短说,这个想法是有一个倒计时,之后程序需要做事情。我在服务器端测量这个。但是,倒计时需要显示,所以我所做的是在客户端单独运行它。最终结果是,当服务器发送消息时,客户端显示为23秒,该消息表明时间倒计时为10分钟。 客户端为XNA,代码: 然后从可用时间中减去计时器,并显示出来。在服务器端,这种情况正在发生:

  • 问题内容: 我的任务是在某个固定时区(MSK或MSD- 取决于当前日期)上在HTML页面上显示数字时钟(精确到分钟)。我想避免依赖客户端系统时钟,因此需要与服务器进行一些同步。HTTP服务器在每个响应中发送Date标头,因此我们可以向我们网站的任何URL发送AJAX GET或HEAD请求以获取服务器日期,计算与客户端日期的差值,并在通过setTimeout()更新时钟时使用它。还有其他问题:夏令时

  • 关于是否使用RMQ / Kafka / Http等进行微服务之间通信的讨论,我有点不知所措。我希望对此有所了解。首先,我的客户端是一个移动应用程序,它进行同步调用并等待响应。 凭直觉,我不希望java服务器和Python分类器之间的内部通信是同步的,因为我希望有高吞吐量,因为我可以让数千或数百万(希望如此)客户机同时发送请求。 如何进行非阻塞请求-响应,并将请求检索到同一客户端? 客户