小编Rel*_*elm的帖子

如何使用小块上传ajax文件并检查失败,重新上传失败的部分.

我有一个用户上传的文件,我想实现以下目标.

  1. 将文件划分为大约一兆字节的较小块.
  2. 上传每个块,并在开始上传下一个块之前等待它完成.
  3. 为每个块获得成功或失败报告.
  4. 重新上传失败的块.
  5. 获得百分比进步.

这是一些粗略的JavaScript.我真丢了.在线获得了一些代码并尝试修改它.

$.chunky = function(file, name){        
                var loaded = 0;
                var step = 1048576//1024*1024;
                var total = file.size;
                var start = 0;
                var reader = new FileReader();

                reader.onload = function(e){

                var d = {file:reader.result}
                $.ajax({
                    url:"../record/c/index.php",
                    type:"POST", 
                    data:d}).done(function(r){
                    $('.record_reply_g').html(r);

                    loaded += step;                 
                    $('.upload_rpogress').html((loaded/total) * 100);

                        if(loaded <= total){
                            blob = file.slice(loaded,loaded+step);
                            reader.readAsBinaryString(blob);
                        } else {
                            loaded = total;
                        }
                })              
                };

                var blob = file.slice(start,step);
                reader.readAsBinaryString(blob);
            }
Run Code Online (Sandbox Code Playgroud)

我怎样才能实现上述目标.如果有可行的解决方案,请解释发生了什么.

javascript php ajax jquery file-upload

5
推荐指数
1
解决办法
1万
查看次数

Javascript Service Worker onload显示通知

我有一个注册的服务工作者,但是我想循环使用一个功能来检查服务器上的更新并显示通知,即使关闭了选项卡也是如此。

在serviceworker.js中使用以下代码,我得到一个错误;“未捕获(承诺)TypeError:ServiceWorkerRegistration上没有可用的活动注册。”

self.registration.showNotification(title, {
        body: 'We have received a push message',
        icon: '',
        tag: ''
})
Run Code Online (Sandbox Code Playgroud)

我希望打开浏览器时像Facebook一样弹出通知。

javascript notifications google-chrome push-notification service-worker

5
推荐指数
1
解决办法
1031
查看次数

Firebase Functions Express:如何获取带有路径的 URL 参数

我有一个 www.a.com/users/uid 形式的网址,我想获取uid.

假设一个函数:

exports.smartlink = functions.https.onRequest((req, res) =>

这样做req.params会返回一个空数组,而req.query.uid当 url 包含查询字符串时则有效。

javascript node.js express firebase google-cloud-functions

5
推荐指数
1
解决办法
2795
查看次数

Android Room:如何使用嵌入的自定义查询

我有一个 PostDAO,看起来像这样。

@Dao
public interface PostDAO extends DAOTemplate<Post> {
    @Query("SELECT * FROM posts order by time DESC")
    LiveData<List<Post>> getPosts();
}
Run Code Online (Sandbox Code Playgroud)

还有 Post Pojo 存在。

@Keep
@Entity(tableName = "posts")
open class Post : Serializable, Cloneable {
    @NonNull
    @PrimaryKey
    var id: String? = null

    var text: String? = null

    var time: Long = 0
    var uid: String? = null
    @Embedded
    var user: User? = null

    public override fun clone(): Post {
        return super.clone() as Post
    }
}
Run Code Online (Sandbox Code Playgroud)

如您所见,User对象是@Embedded

和用户的 …

java android kotlin android-room android-architecture-components

5
推荐指数
1
解决办法
6193
查看次数

Typescript"this"实例在课堂上未定义

我发现这个和在线,现在试图把它放在TS.

运行以下抛出 Uncaught TypeError: Cannot set property 'toggle' of null

@Injectable()
export class HomeUtils {
    private canvas: HTMLCanvasElement;
    private context;
    private toggle = true;

    constructor() { }

    public startNoise(canvas: HTMLCanvasElement) {
        this.canvas = canvas;
        this.context = canvas.getContext('2d');
        this.resize();
        this.loop();
    }

    private resize() {
        this.canvas.width = window.innerWidth;
        this.canvas.height = window.innerHeight;
    }

    private loop() {
        this.toggle = false;
        if (this.toggle) {
            requestAnimationFrame(this.loop);
            return;
        }
        this.noise();
        requestAnimationFrame(this.loop);
    }

    private noise() {
        const w = this.context.canvas.width;
        const h = this.context.canvas.height;
        const idata = this.context.createImageData(w, …
Run Code Online (Sandbox Code Playgroud)

typescript angular

4
推荐指数
2
解决办法
2542
查看次数

jQuery UI自动完成显示AJAX源的标签和值

我有AJAX源的jQuery UI自动完成输入,我想显示标签而不是id; 但我的代码显示搜索结果何时返回.我怎样才能展示标签?

PHP:

<?php
require_once '../php/db_conx.php';
$req = "SELECT * 
        FROM ads 
        WHERE bbookname LIKE '%" . strtolower(mysql_real_escape_string($_REQUEST['term'])) . "%' ";
$query = mysql_query($req);
while ($row = mysql_fetch_array($query)) {
    $return = array(
        'label' => $row['bbookname'] . ' ' . $row['bbookschool'],
        'value' => $row['adid']
    );
}
echo json_encode($return);
?>
Run Code Online (Sandbox Code Playgroud)

jQuery的/ AJAX:

$("#BooksSearchInput").autocomplete({
    source: '../Search/BP_Books_Search.php',
    minLength: 1,
    autoFocus: false,
    select: function(event, ui) {
        var SearchBookVal = (ui.item.value)
        $.ajax({
            type: "POST",
            data: {
                data: SearchBookVal
            },
            url: "../php/SearchBooks_results.php"
        }).done(function(feedback) {
            $('#booksads').html(feedback)
        }); …
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery jquery-ui jquery-ui-autocomplete

3
推荐指数
1
解决办法
2640
查看次数

Firebase:Firestore:在Realtime Database中找到的ChildEventListener的等价物

我有这个用于Firestore.

FirebaseFirestore   db  = FirebaseFirestore.getInstance();
        CollectionReference ref = db.collection("app/appdata/notifications");
        ref.addSnapshotListener((snapshot, e) -> {
            if (e != null) {
                Log.w(TAG, "Listen failed.", e);
                return;
            }

            for (DocumentSnapshot x : snapshot.getDocuments()) {
                System.out.println(x.getData());
            }
        });
Run Code Online (Sandbox Code Playgroud)

但我不想使用那个循环,而是我只需要获得新的孩子.我想在Realtime Db中看到类似下面的内容.

ref.addChildEventListener(new ChildEventListener() {
    @Override
    public void onChildAdded(DataSnapshot dataSnapshot, String prevChildKey) {
        Post newPost = dataSnapshot.getValue(Post.class);
        System.out.println("Author: " + newPost.author);
        System.out.println("Title: " + newPost.title);
        System.out.println("Previous Post ID: " + prevChildKey);
    }

    @Override
    public void onChildChanged(DataSnapshot dataSnapshot, String prevChildKey) {}

    @Override
    public void onChildRemoved(DataSnapshot dataSnapshot) {}

    @Override …
Run Code Online (Sandbox Code Playgroud)

java android firebase firebase-realtime-database google-cloud-firestore

3
推荐指数
1
解决办法
2783
查看次数

Angular 4:如何构建生产而不会丢失resposive design meta标签.

我用一个新项目对此进行了测试,没有什么独特的.

ng new debug-project

然后我在头部添加了一些标签,导致了这一点.

<!doctype html>
<html lang="en">

<head>
  <meta charset="utf-8">
  <title>DebugProject</title>
  <base href="/">

  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="viewport" content="user-scalable=no, width=device-width" />
  <meta name="viewport" content="width=device-width" />
  <meta name="apple-mobile-web-app-capable" content="yes">
  <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9">
  <meta name="viewport" content="width=device-width; initial-scale=1; minimum-scale=1; maximum-scale=1; user-scalable=0">

  <link rel="icon" type="image/x-icon" href="favicon.ico">
</head>

<body>
  <app-root></app-root>
</body>

</html>
Run Code Online (Sandbox Code Playgroud)

之后ng build --prod,html现在看起来像这样,浏览器无法读取.注意viewport元标记值中缺少的空格.width, initial-scale=1成为width,initial-scale=1.

<!doctype html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <title>DebugProject</title>
    <base href="/">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <meta name="viewport" content="user-scalable=no,width=device-width" />
    <meta name="viewport" content="width=device-width" …
Run Code Online (Sandbox Code Playgroud)

java typescript angular ng-build

3
推荐指数
1
解决办法
364
查看次数

Firebase:如何使用NodeJ发送密码重置电子邮件后端

我试图隐含以下代码:https : //firebase.google.com/docs/auth/web/manage-users#send_a_password_reset_email

var auth = firebase.auth();
var emailAddress = "user@example.com";

auth.sendPasswordResetEmail(emailAddress).then(function() {
  // Email sent.
}).catch(function(error) {
  // An error happened.
});
Run Code Online (Sandbox Code Playgroud)

但是我sendPasswordResetEmail在firebase admin中找不到该方法。

无论如何,我可以在后端执行此操作?

node.js firebase firebase-authentication google-cloud-functions

3
推荐指数
1
解决办法
3289
查看次数

如何从MySQL datetime中减去日期,其中table被指定为MySQL函数.

我正在使用以下"日期(时间)"从日期时间获取日期,并且没有任何错误.

SELECT * FROM $t WHERE owner = '$sn' && DATE(time) = '$d';
Run Code Online (Sandbox Code Playgroud)

但是当表格联合时,我尝试使用"p.DATE(time)",我得到了这个错误.

FUNCTION p.DATE does not exist. Check the 'Function Name Parsing and Resolution'
Run Code Online (Sandbox Code Playgroud)

这是我使用"p.DATE(time)"的完整代码.

function get_m_stats($con,$sn,$d=NULL,$t=NULL,$o=NULL){
$get_day = mysqli_query($con, "
SELECT m.* , COUNT(p.sid) frequency FROM music m
  JOIN $t p 
  ON p.sid = m.sid 
  WHERE p.sid != '' AND p.owner = '$sn' AND p.DATE(time) = '$d'    
  AND m.perms = 'a'
  GROUP BY m.sid 
  ORDER BY frequency $o 
  LIMIT 1") or die(mysqli_error($con));
$row_day = mysqli_fetch_array($get_day);
echo $row_day['title']; …
Run Code Online (Sandbox Code Playgroud)

php mysql sql datetime

2
推荐指数
1
解决办法
181
查看次数